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
- sshpass
- Jupyter
- Jupyter Notebook
- create table
- PYTHON
- port forwarding
- appium server
- perfect
- nohup
- insert
- centos
- nGrinder
- ftp
- Materials
- 28015
- GoCD
- STF_PortForwarding
- mysql
- nmap
- STF
- kitura
- ubuntu
- ssh
- rethinkdb
- 실행권한
- postgresql
- appium
- SWIFT
- postgres
- openpyxl
Archives
- Today
- Total
don't stop believing
Bind Uri 본문
url path에 paramater가 추가되는 경우의 binding 방법입니다.
https://github.com/gin-gonic/gin#bind-uri
바로 코드를 보겠습니다.
1234567891011121314151617181920212223242526272829303132333435package mainimport ("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 Userif 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:8080r.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 |