請求形式
func main() {
router := gin.Default()
router.GET("/someGet", getting)
router.POST("/somePost", posting)
router.PUT("/somePut", putting)
router.DELETE("/someDelete", deleting)
router.PATCH("/somePatch", patching)
router.HEAD("/someHead", head)
router.OPTIONS("/someOptions", options)
// 默認啓動的是 8080端口,也能夠本身定義啓動端口
router.Run()
// router.Run(":3000")
}
複製代碼
get 參數
// handels 層 get 方法
func FuncGet(c *gin.Context) {
name := Param("name")
action := Param("action")
}
// 使用Query獲取參數
func FuncQuery(c *gin.Context) {
name := c.Query("name")
}
// 獲取header參數
func FuncGetHeader(c *gin.Context) {
c.Request.Header.Get("jwt")
}
// main函數
func main(){
router := gin.Default()
router.GET("/test/:name/*action", handles.FuncGet)
router.GET("/test?name=zhang, handles.FuncQuery) router.GET("/test, handles.FuncGetHeader)
router.Run(":3000")
}
複製代碼
post 參數
// 結構體參數 (使用gorm)
// json 表示參數結構爲json格式, form 表示參數結構爲 form表單格式
type PostReq struct{
Name string `json:"name" form:"name"`
}
// handles 層
func FuncPost(c *gin.Context){
req := &PostReq{}
}
// main函數
func main(){
router := gin.Default()
router.Post("/test", handles.FuncGet)
router.Run(":3000")
}
// 事例
http://127.0.0.1:8868/test
Content-Type: application/json;
{
"name": "zhang"
}
複製代碼
文件獲取 os 文件保存
func FuncFil(c *gin.Context){
f, err := c.FormFile("file")
if err != nil {
fmt.Errorf("獲取文件錯誤")
}
savePath := '/E:' // 文件保存地址(建議保存在硬盤上)
os.MkdirAll(savePath, 0755)
// 地址,文件名
fmt.Println(savePath, f.Filename)
// 獲取保存的文件是否存在
saved := fmt.Sprintf("%v/%v", savePath, f.Filename)
if _, err = os.Stat(saved); err == nil {
fmt.Println("文件存在")
return
}
}
複製代碼