GO 語言Gin包(處理器 handler)
路由需要傳入兩個參數,一個為路徑,另一個為路由執行的方法,做它處理器 Handler ,而且,該參數是可變長參數。也就是說,可以傳入多個 handler,形成一條 handler chain 。
同時對 handler 該函數有着一些要求,該函數需要傳入一個 Gin.Context 指針,同時要通過該指針進行值得處理。
Handler 函數可以對前端返回 字符串,Json,Html 等多種格式或形式文件
//省略其他代碼
// 添加 user
router.GET("/user/:name",handler)
// 省略其他代碼
- context.Param 可以獲取路由路徑中的參數。
- eg:
func UserSave(context *gin.Context) {
username := context.Param("name")
context.String(http.StatusOK, "用戶已經保存")
}
// 通過 query 方法進行獲取參數
func UserSaveByQuery(context *gin.Context) {
username := context.Query("name")
age := context.Query("age")
context.String(http.StatusOK, "用戶:"+username+",年齡:"+age+"已經保存")
}
- 通過 context.DefaultQuery 方法,在獲取時,如果沒有該值則賦給一個默認值。
- eg:
age := context.DefaultQuery("age", "20")