go gin框架獲取參數信息

請求形式

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
	}
	
}

複製代碼
相關文章
相關標籤/搜索