Gin框架
gin的参数获取
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
fmt.Println(123123)
router := gin.Default()
router.GET("/", func(ctx *gin.Context) {
fmt.Println("hello gin")
ctx.String(http.StatusOK, "hello gin")
})
router.POST("/test", Test)
router.Run(":8000")
}
func Test(ctx *gin.Context) {
fmt.Println("test")
//name := ctx.Query("name") //单个获取get url里的传参 ?name=lisi&age=2
//age := ctx.PostForm("age") //单个获取post from 表单里的数据 接收post form-data或者x-www-unlencoded的值
//tag 里的 json 是接收post raw json里的值 form 是接收post form-data或者x-www-unlencoded的值
type headerParam struct {
Token string `json:"token" form:"token" binding:"required"`
Platfrom int `json:"platfrom" form:"platfrom"`
}
var h headerParam
err := ctx.BindHeader(&h) //指量获取hearder头里的信息
if err != nil {
fmt.Println("get headerParam fail , err:",err.Error())
}
type param struct {
Name string `json:"name" form:"name" binding:"required"`
Age int `json:"age" form:"age"`
Gender int `json:"gender" form:"gender"`
}
var p param
ctx.Bind(&p) //指量获取 post 是接收post form-data或者x-www-unlencoded的值 或都 raw json
//if ctx.ShouldBind(&p) == nil { //批量获取 post form-data 或者 x-www-form-urlencoded的传值
// log.Println(p.Age)
//}
ctx.ShouldBindQuery(&p) //批量获取url地址上的传参 ?name=lisi&age=2
fmt.Println(p)
ctx.JSON(http.StatusOK, gin.H{
"code": 200,
"data": p,
"header": h,
})
}
header参数
[{"key":"token","value":"123123","description":"","type":"text","enabled":true},{"key":"platfrom","value":"1","description":"","type":"text","enabled":true}]
post Raw json 请求示例
{
"age": 18,
"name": "haima1"
}
更新说明:
https://gin-gonic.com/zh-cn/docs/quickstart/
https://www.kancloud.cn/shuangdeyu/gin_book/949429
https://www.jianshu.com/p/98965b3ff638/
[Haima的博客]
http://www.cnblogs.com/haima/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2019-03-14 双击 ajax修改单元格里的值
2019-03-14 点按钮ajax get方法修改0或1状态封装成函数