Gin應用程式取得POST form表單欄位參數的方式如下。
範例環境:
- Go 1.16
- Gin 1.7.2
例如下面簡單的表單網頁demo.html
,提交位址為http://localhost:8080/form
。
demo.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="http://localhost:8080/form" method="POST">
name:<input name="name" type="text"><br>
age:<input name="age" type="number"><br>
<input type="submit">
</form>
</body>
</html>
Gin的APIPOST | /form
負責接收表單傳來的參數。使用gin.Context
的PostForm()
或可設定預設值的DefaultPostForm()
方法取得表單對應名稱欄位的輸入值。
main.go
package main
import "github.com/gin-gonic/gin"
func main() {
router := gin.Default()
router.POST("/form", func(c *gin.Context) {
name := c.PostForm("name")
age := c.DefaultPostForm("age", "0")
c.JSON(200, gin.H{
"name": name,
"age": age,
})
})
router.Run()
}
啟動專案用curl命令發送http POST request結果如下。
$ curl -X POST -F 'name=john' -F 'age=33' http://localhost:8080/form
{"age":"33","name":"john"}
若沒有輸入age
欄位值結果如下。
$ curl -X POST -F 'name=john' http://localhost:8080/form
{"age":"0","name":"john"}
沒有留言:
張貼留言