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
- postgresql
- Jupyter Notebook
- Jupyter
- rethinkdb
- appium server
- sshpass
- appium
- nGrinder
- nohup
- GoCD
- ssh
- ftp
- perfect
- PYTHON
- 28015
- insert
- SWIFT
- postgres
- nmap
- openpyxl
- port forwarding
- kitura
- ubuntu
- STF_PortForwarding
- STF
- create table
- 실행권한
- Materials
- centos
- mysql
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