当前位置: 首页 > news >正文

上海知名的网站建设公司建设中小企业网站

上海知名的网站建设公司,建设中小企业网站,扬州推广公司,h5模板制作软件Gin参数接收 文章目录 Gin参数接收1.各个参数的接收方法Gin中发送JSON数据Gin接收querystring数据Gin接收Form的参数Gin接收URI参数 2.参数绑定方式接收(更加方便)推荐一款软件 1.各个参数的接收方法 声明: 这里的c都是c *gin.Context中的c Gin中发送JSON数据 在传输或接受JS…Gin参数接收 文章目录 Gin参数接收1.各个参数的接收方法Gin中发送JSON数据Gin接收querystring数据Gin接收Form的参数Gin接收URI参数 2.参数绑定方式接收(更加方便)推荐一款软件 1.各个参数的接收方法 声明: 这里的c都是c *gin.Context中的c Gin中发送JSON数据 在传输或接受JSON数据时,通常习惯通过创建结构体的方式存储数据 注意点: 结构体中成员名需要大写字母开头,否则无法访问需要再成员名后添加tag标签 ,方便传输以及接收数据 方法 func (c *Context) JSON(code int, obj any) {}code是状态码,例如:http.StatusOK这是go语言内置变量obj指需要传入的数据 代码案例: package mainimport (github.com/gin-gonic/ginlognet/http )// User 构建数据结构(存储json数据 // 注意:1.需要大写字母开头否则无法访问 // 注意:2.json是tag标签,这样方便定义前端显示名称 type User struct {Name string json:nameGender string json:genderAge int json:age }func main() {//启动服务器r : gin.Default()//发起请求r.GET(/Json, func(c *gin.Context) {data : User{Name: 贤哥,Gender: 男,Age: 18,}c.JSON(http.StatusOK, gin.H{data: data,})})//运行服务器err : r.Run(:9000)if err ! nil {log.Println(启动错误:, err)} } 传数据习惯用gin中的gin.H{} Gin接收querystring数据 介绍: //querystring 数据是在URl上的参数,例如:https://www.bing.com/search?q邓超 //这里的q 邓超就是querystring,其中q是变量,邓超是值方法: c.Query(key):根据变量名接收值c.DefaultQuery(key,defaultValue):根据变量名接收值,如果没有该变量,就输出定义好的值c.GETQuery(key):返回值有两个,一个是接收到的值,一个是布尔值,可以通过判断布尔值查看是否接受到值 代码案例 package mainimport (github.com/gin-gonic/ginlognet/http )//querystring 数据是在URl上的参数,例如:https://www.bing.com/search?q邓超 //这里的q 邓超就是querystring,其中q是变量,邓超是值type User struct {Name string json:nameAge string json:age }func main() {//创建Gin变量r : gin.Default()//发起请求r.GET(/query, func(c *gin.Context) {//单纯接收querystring的值data1 : c.Query(query)//接收querystring,如果没有接收到值就,输出定义好的值(类似这里的nothing)data2 : c.DefaultQuery(query, nothing)//获取querystring的值,返回当前值和bool值,如何bool为false,默认返回空值data3, ok : c.GetQuery(query)if !ok {data3 nothing}//可以将querystring的值,解析到结构体中存储//注意:结构体的成员名和querystring的变量名必须一致,否则解析不到var user Usererr : c.BindQuery(user)if err ! nil {log.Println(err)return}//可以用于相同变量却有多个值的情况接收变量,接收后的变量会被保存在切片中//query尼玛querytm 输出 query4:[尼玛,tm]data4 : c.QueryArray(query)//通过Json数据发出c.JSON(http.StatusOK, gin.H{query1: data1,query2: data2,query3: data3,query4: data4,user: user,})})//启动服务器err : r.Run(:9000)if err ! nil {log.Println(启动失败:, err)} } Gin接收Form的参数 结论: 方法的用法和querystring的基本一致 代码: package mainimport (github.com/gin-gonic/ginlognet/http )//任务:接收form的数据 //1.创建form表单 //2.解析数据func main() {r : gin.Default()//解析模板r.LoadHTMLFiles(./login.html, ./index.html)//渲染模板(渲染登录页面r.GET(/login, func(c *gin.Context) {c.HTML(http.StatusOK, login.html, nil)})//点击form的登录按钮提交数据后会发起method方法的请求//所以得写一个post方法以及,输出数据到post渲染的网页r.POST(/login, func(c *gin.Context) {//单个接收表单数据//username : c.PostForm(username)password : c.PostForm(password)//单个接收表单的数据,如果没有参数就输出notDefault//username : c.DefaultPostForm(username, notDefault)//以数组的方式接收值username : c.PostFormArray(username)//password, ok : c.GetPostForm(username)c.HTML(http.StatusOK, index.html, gin.H{username: username[0],password: password,})//总结接收表单数据的各种函数基本和接收querystring参数的用法一致})//启动服务器err : r.Run(:9000)if err ! nil {log.Println(err)return} } Gin接收URI参数 介绍 //了解什么是URI参数 //例如一条URL为http://ouzhenxian.com/blog/2023/1 //这里的URL中,可以指定2023和1为参数(是否是参数是由你的接收格式决定的 //格式: /blog/:year/:mouth,:后面的参数就是需要被接收的数据c.Param方法和querystring用法基本一致 代码: package mainimport (github.com/gin-gonic/ginnet/http ) func main() {r : gin.Default()r.GET(/blog/:year/:mouth, func(c *gin.Context) {year : c.Param(year)mouth : c.Param(mouth)c.JSON(http.StatusOK, gin.H{year: year,mouth: mouth,})})//启动服务器err : r.Run(:9000)if err ! nil {return} }2.参数绑定方式接收(更加方便) 核心方法c.ShouldBind() 优点: 相比前面的更加快捷高效 代码展示 package mainimport (fmtgithub.com/gin-gonic/ginlognet/http )//任务: 利用ShouldBind()函数绑定参数type UserInfo struct {Username string json:username form:username uri:username query:username //注意2点: 字段名需要大写,需要写tag,否则找不到Password string json:password form:password uri:password query:password }func main() {r : gin.Default()//发出请求r.GET(/json, func(c *gin.Context) {var user UserInfoerr : c.ShouldBindJSON(user) //注意:这里需要写,否则是值传递,无法修改值if err ! nil {log.Println(err)return}//处理数据fmt.Printf(%#v\n, user) //一起输出c.JSON(http.StatusOK, gin.H{status: ok,})})r.GET(/query, func(c *gin.Context) {var user UserInfoerr : c.ShouldBindQuery(user) //注意:这里需要写,否则是值传递,无法修改值if err ! nil {log.Println(err)return}//处理数据fmt.Printf(%#v\n, user) //一起输出c.JSON(http.StatusOK, gin.H{status: ok,})})r.POST(/form, func(c *gin.Context) {var user UserInfoerr : c.ShouldBind(user) //注意:这里需要写,否则是值传递,无法修改if err ! nil {log.Println(err)return}//处理数据fmt.Printf(%#v\n, user) //一起输出c.JSON(http.StatusOK, gin.H{status: ok,})})r.GET(/uri/:username/:password, func(c *gin.Context) {var user UserInfoerr : c.ShouldBindUri(user) //注意:这里需要写,否则是值传递,无法修改值if err ! nil {log.Println(err)return}//处理数据fmt.Printf(%#v\n, user) //一起输出c.JSON(http.StatusOK, gin.H{status: ok,})})//启动服务器err : r.Run(:8080)if err ! nil {log.Println(err)return}}注意点: 1.结构体成员名首字母大写2.需要指定tag3.ShouldBind()接受的值必须是地址值(例如:user) 说明: Gin框架中不是每个数据格式都有对应的ShouldBind函数 例如:这里的JSON数据有—c.ShouldBindJSON(user),而这里的表单Form数据没有对应的和函数,那就使用通用的c.ShouldBind(user) 推荐一款软件 Postman软件: 在做网络开发过程中可以非常方便的传输数据测试,有兴趣的可以自行查看,该软件需要科学
http://www.hkea.cn/news/14486923/

相关文章:

  • 图片1600px做网站长沙景点介绍
  • 惠州网站建设兼职网络媒体广告公司
  • 如何修改自己的网站标题如何推销自己的产品
  • 经营范围里的网站建设网站前台功能介绍
  • 营销型网站的建站步骤是什么意思冰桶挑战是什么网络营销方式
  • 免费移动网站模板下载安装石家庄官网建设
  • 网站推广教程分享dede中英文网站
  • 广东工程建设信息网站舆情app
  • 做自媒体的网站英文网站建设需要准备什么
  • 网站建设实训室介绍开封网站建设中心
  • 网站seo优化网站北京家居网站建设
  • 王店镇建设中学网站网站建设百度经验
  • 揭阳东莞网站建设广州王牌seo
  • 申请中网可信网站跨境电商网站 建设要求
  • 房车网站建设意义昆山建设局网站查预售
  • 网站建设 合优企业美业设计网站
  • 空间 两个网站制作简历的app免费
  • 详述网站建设的过程简答题建设网站建设网页制作0402高设计词
  • 成都私人做网站中信建设有限责任公司营业执照
  • 网站由哪些部分组成部分组成龙岗同乐社区网站建设
  • 商城网站优化国内新闻最新
  • 网站建设教程学习wordpress怎么备份按在
  • 成都电子网站建设多少钱电子商务冷门吗
  • 校园网站建设情况通报电商网站 知名案例
  • 怎样用前端知识制作企业网站网页版梦幻西游五色石攻略
  • 中国建站公司沈阳网站seo优化哪家好
  • h5网站和传统网站区别响应式学校网站模板
  • 网站建设与维护工作桓台网站建设
  • 分类信息网站建设价格博山网站建设yx718
  • 微网站用什么软件做石家庄手机网站建设公司