Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- postgres
- perfect
- SWIFT
- Materials
- rethinkdb
- centos
- ubuntu
- 실행권한
- mysql
- appium
- appium server
- ssh
- Jupyter
- PYTHON
- nGrinder
- nohup
- GoCD
- port forwarding
- STF_PortForwarding
- postgresql
- 28015
- STF
- create table
- ftp
- Jupyter Notebook
- sshpass
- insert
- nmap
- openpyxl
- kitura
Archives
- Today
- Total
don't stop believing
Bind Uri 본문
url path에 paramater가 추가되는 경우의 binding 방법입니다.
https://github.com/gin-gonic/gin#bind-uri
바로 코드를 보겠습니다.
package main import ( "github.com/gin-gonic/gin" ) type User struct { Name string `uri:"name" binding:"required"` Age uint16 `uri:"age" binding:"required"` ID string `uri:"id" binding:"required,uuid"` } func setupRouter() *gin.Engine { // Disable Console Color // gin.DisableConsoleColor() r := gin.Default() r.GET("/user/:name/age/:age/id/:id", func(c *gin.Context) { var user User if err := c.ShouldBindUri(&user); err != nil { c.JSON(400, gin.H{"msg": err}) return } c.JSON(200, gin.H{"name": user.Name, "age": user.Age, "id": user.ID}) }) return r } func main() { r := setupRouter() // Listen and Server in 0.0.0.0:8080 r.Run(":8080") }
다른 binding 방법과 마찬가지로 struct를 만들고 c.ShouldBindUri()로 대입하면 됩니다.
실행하고 아래와 같이 호출해 봅니다.
http://localhost:8080/user/tongchun/age/42/id/123e4567-e89b-12d3-a456-426655440000
binding이 잘되고 지정한데로 리턴됩니다.
'Golang > Gin' 카테고리의 다른 글
Goroutines inside a middleware (0) | 2019.03.14 |
---|---|
How to write log file (0) | 2019.03.14 |
Only Bind Query String (0) | 2019.03.09 |
Bind Query String or Post Data (0) | 2019.03.09 |
Model binding and validation (0) | 2019.03.06 |
Comments