2016-04-23 30 views
0

我想在the README of gin framework一個代碼示例(「又如:查詢+崗位表」):轉到杜松子酒的框架:測試查詢和POST與捲曲

package main 

import (
    "fmt" 
    "github.com/gin-gonic/gin" 
) 

func main() { 
    router := gin.Default() 

    router.POST("/post", func(c *gin.Context) { 
     id := c.Query("id") 
     page := c.DefaultQuery("page", "0") 
     name := c.PostForm("name") 
     message := c.PostForm("message") 

     fmt.Printf("id: %s; page: %s; name: %s; message: %s\n", id, page, name, message) 
    }) 
    router.Run(":8080") 
} 

測試與捲曲代碼:

curl -d "name=Maru&message=Nice" 0.0.0.0:8080/post?id=2&page=3 

服務器返回:id: 2; page: 0; name: Maru; message: Nice

捲曲測試是否正確?爲什麼返回值中的page等於3?

回答

0

&符號(&)是您shell中的特殊字符。它使前面的命令在後臺運行。殼牌正在演繹的命令:

curl -d "name=Maru&message=Nice" 0.0.0.0:8080/post?id=2 & # run curl in the background 
page=3 # set page=3 

轉義字符會給你預期的結果:

curl -d "name=Maru&message=Nice" "0.0.0.0:8080/post?id=2&page=3" 
curl -d "name=Maru&message=Nice" 0.0.0.0:8080/post?id=2\&page=3