go gin r.Any Query PostForm Param获取请求参数

6 篇文章 0 订阅

结论:

获取url里的参数:http://localhost:8080/p1?a=%E3%81%82%E6%9D%B1%E4%BA%AC

  • Query:如果获取不到,返回空字符串
  • DefaultQuery:如果获取不到,返回参数2
  • GetQuery:如果获取不到,返回空字符串,且ok=false

获取post请求表单的参数:

  • PostForm:估计同Query,未测试
  • DefaultPostForm:估计同DefaultQuery,未测试
  • GetPostForm:估计同GetQuery,未测试

获取restful参数:/p2/:id/update/:name

  • 如果获取不到,返回空字符串
  • p2//update/a能访问
  • p2/3/update//不能访问
package main

import (
	"github.com/gin-gonic/gin"
	"html/template"
	"log"
	"net/http"
)

func main() {
	mainGin()
}

func mainGin() {
	r := gin.Default()

	//处理url请求
	r.Any("/p1", func(c *gin.Context) {
		switch c.Request.Method {
		case "GET":
			a1 := c.Query("a")
			a2 := c.DefaultQuery("a", "Default A")
			a3, ok := c.GetQuery("a")
			log.Println("\na1=", a1, "\na2=", a2, "\na3=", a3, "\nok=", ok)
			log.Println("\na1=", len(a1), "\na2=", len(a2), "\na3=", len(a3))
			log.Println("\na1=", a1 == "", "\na3=", a3 == "")
		case "POST":
			a1 := c.PostForm("a")
			a2 := c.DefaultPostForm("a", "Default A")
			a3, ok := c.GetPostForm("a")
			log.Println("\na1=", a1, "\na2=", a2, "\na3=", a3, "\nok=", ok)
			log.Println("\na1=", len(a1), "\na2=", len(a2), "\na3=", len(a3))
			log.Println("\na1=", a1 == "", "\na3=", a3 == "")
		default:
			log.Println("c.Request.Method=", c.Request.Method)
		}
		c.JSON(http.StatusOK, nil)
	})

	///p2//update/a  ok
	///p2/3/update//  ng
	r.GET("/p2/:id/update/:name", func(c *gin.Context) {
		a1 := c.Param("id")
		a2 := c.Param("name")

		log.Println("\na1=", a1, "\na2=", a2)
		log.Println("\na1=", len(a1), "\na2=", len(a2))
		log.Println("\na1=", a1 == "", "\na2=", a2 == "")

		c.JSON(http.StatusOK, nil)
	})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值