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

电子商务网站建设方案推荐做最好的网站新新

电子商务网站建设方案推荐,做最好的网站新新,国精产品w灬源码1688说明,做房产网站需要了解什么请求参数 在web中,请求参数的来源多种多样,常见的有 URL 查询参数、表单参数、JSON 数据、路径参数等。下面将详细介绍不同类型请求参数的处理方式 1.查询参数 URL 查询参数通常出现在 URL 的 ? 后面,多个参数之间用 & 分隔。在 Gin …

请求参数

在web中,请求参数的来源多种多样,常见的有 URL 查询参数、表单参数、JSON 数据、路径参数等。下面将详细介绍不同类型请求参数的处理方式

1.查询参数

URL 查询参数通常出现在 URL 的 ? 后面,多个参数之间用 & 分隔。在 Gin 中,可以使用 c.Queryc.DefaultQuery 方法来获取这些参数。

package mainimport ("github.com/gin-gonic/gin"
)func main() {r := gin.Default()r.GET("/search", func(c *gin.Context) {// 使用 c.Query 获取参数,如果参数不存在则返回空字符串keyword := c.Query("keyword")// 使用 c.DefaultQuery 获取参数,如果参数不存在则返回默认值page := c.DefaultQuery("page", "1")c.JSON(200, gin.H{"keyword": keyword,"page":    page,})})r.Run(":8080")
}

上面的代码中,c.Query("keyword"):尝试从 URL 查询参数中获取 keyword 的值,如果该参数不存在,则返回空字符串。

c.DefaultQuery("page", "1"):尝试从 URL 查询参数中获取 page 的值,如果该参数不存在,则返回默认值 "1"

请求路径:

http://localhost:8080/search?keyword=go 

返回数据:

{"keyword":"go","page":"1"}

请求路径:

http://localhost:8080/search?keyword=go&page=2

返回数据:

{"keyword":"go","page":"2"}

2.数组参数

在 Gin 中,可以使用 c.QueryArrayc.GetQueryArray 方法来获取数组参数。

第一种方式:

package mainimport ("github.com/gin-gonic/gin"
)// User 结构体,用于存储用户信息
type User struct {Address []string `form:"address"`
}func main() {r := gin.Default()// 第一种方式:使用 QueryArray 获取数组参数r.GET("/user/save", func(ctx *gin.Context) {address := ctx.QueryArray("address")ctx.JSON(200, address)})// 第二种方式:使用 GetQueryArray 获取数组参数r.GET("/user/save1", func(ctx *gin.Context) {address, ok := ctx.GetQueryArray("address")fmt.Println(ok)ctx.JSON(200, address)})r.Run(":8080")
}

ctx.QueryArray("address"):该方法会直接从 URL 查询参数中获取名为 address 的所有值,并将其作为字符串切片返回。若参数不存在,则返回空切片。

ctx.GetQueryArray("address"):此方法除了返回参数值的切片外,还会返回一个布尔值 ok,用于表示是否成功获取到参数。若参数存在,oktrue;反之则为 false

请求路径:

http://localhost:8080/user/save1?address=Beijing&address=shanghai

返回数据:

["Beijing","shanghai"]

3.map参数处理

在 Gin 中,可以使用 c.QueryMapc.GetQueryMap 方法来获取map参数。

package mainimport ("github.com/gin-gonic/gin"
)func main() {r := gin.Default()// 第一种方式:使用 QueryMap 获取 map 参数r.GET("/user/map1", func(ctx *gin.Context) {addressMap := ctx.QueryMap("addressMap")ctx.JSON(200, addressMap)})// 第二种方式:使用 GetQueryMap 获取 map 参数r.GET("/user/map2", func(ctx *gin.Context) {addressMap, _ := ctx.GetQueryMap("addressMap")ctx.JSON(200, addressMap)})r.Run(":8080")
}

ctx.QueryMap("addressMap"):该方法会从 URL 查询参数中解析出以 addressMap 为前缀的所有键值对,并将其存储在一个 map[string]string 中返回。

ctx.GetQueryMap("addressMap"):此方法除了返回解析后的 map 外,还会返回一个布尔值,用于表示是否成功获取到参数。

请求路径:

http://localhost:8080/user/map1?addressMap[home]=Beijing&addressMap[company]=shanghai

返回数据:

{"company":"shanghai","home":"Beijing"}

4.表单参数

首先创建form.html,用来演示表单参数,提交到/submit路由


<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Submit Form</title>
</head>
<body>
<form action="/submit" method="post"><label for="name">Name:</label><input type="text" id="name" name="name"><br><label for="age">Age:</label><input type="text" id="age" name="age"><br><input type="submit" value="Submit">
</form>
</body>
</html>

表单参数通常在 HTML 表单提交时发送,请求方法一般为 POST。在 Gin 中,可以使用 c.PostFormc.DefaultPostForm 方法来获取这些参数。

package mainimport ("github.com/gin-gonic/gin"
)func main() {r := gin.Default()r.POST("/submit", func(c *gin.Context) {// 使用 c.PostForm 获取表单参数,如果参数不存在则返回空字符串name := c.PostForm("name")// 使用 c.DefaultPostForm 获取表单参数,如果参数不存在则返回默认值age := c.DefaultPostForm("age", "0")c.JSON(200, gin.H{"name": name,"age":  age,})})r.Run(":8080")
}

c.PostForm("name"):尝试从表单数据中获取 name 的值,如果该参数不存在,则返回空字符串.c.DefaultPostForm("age", "0"):尝试从表单数据中获取 age 的值,如果该参数不存在,则返回默认值 "0"

例如:
在这里插入图片描述

执行后返回,以下数据:

{"age":"28","name":"clown95"}

5.JSON 数据

当客户端以 JSON 格式发送数据时,在 Gin 中可以使用 c.ShouldBindJSON 方法将 JSON 数据绑定到 Go 结构体上。

package mainimport ("github.com/gin-gonic/gin"
)// User 定义用户结构体
type User struct {Name string `json:"name"`Age  int64  `json:"age"`
}func main() {r := gin.Default()r.POST("/user", func(c *gin.Context) {var user User// 将 JSON 数据绑定到 User 结构体if err := c.ShouldBindJSON(&user); err != nil {c.JSON(400, gin.H{"error": err.Error()})return}c.JSON(200, gin.H{"get_name": user.Name,"get_age":  user.Age,})})r.Run(":8080")
}

c.ShouldBindJSON(&user):尝试将请求体中的 JSON 数据绑定到 user 结构体上。如果绑定失败,返回 HTTP 状态码 400 和错误信息。

使用 Postman发送如下 JSON 请求:

请求路径:

http://localhost:8080/user

请求参数:

{"name":"clown95","age": 29
}

返回数据:

{"get_age": 29,"get_name": "clown95"
}

在这里插入图片描述

6.路径参数

路径参数是 URL 路径中的一部分,通常用于表示资源的唯一标识。在 Gin 中,可以使用 c.Param 方法来获取路径参数。

package mainimport ("github.com/gin-gonic/gin"
)func main() {r := gin.Default()r.GET("/user/:id", func(c *gin.Context) {// 获取路径参数 id 的值id := c.Param("id")c.JSON(200, gin.H{"user_id": id,})})r.Run(":8080")
}

c.Param("id"):从 URL 路径中获取 id 参数的值。


文章转载自:

http://sj05ncMh.pyswr.cn
http://9azy4TeF.pyswr.cn
http://8en4hxKG.pyswr.cn
http://lcy1S1NZ.pyswr.cn
http://VeysqJhM.pyswr.cn
http://rYAlUPiH.pyswr.cn
http://vL5fhZFb.pyswr.cn
http://oRF4k1vG.pyswr.cn
http://4R40QklR.pyswr.cn
http://16HFS3X3.pyswr.cn
http://wsoUnglD.pyswr.cn
http://LtkYnujB.pyswr.cn
http://ce66ULFU.pyswr.cn
http://XkoODshC.pyswr.cn
http://d7jrGfnA.pyswr.cn
http://SBDbGFkt.pyswr.cn
http://CcBTvAR2.pyswr.cn
http://41UFHjzX.pyswr.cn
http://B3h3DaxS.pyswr.cn
http://Osw3GHBc.pyswr.cn
http://XYwvawAd.pyswr.cn
http://vv79JWF3.pyswr.cn
http://BcEH9Tib.pyswr.cn
http://uVKdHK1B.pyswr.cn
http://Ar5nSvlb.pyswr.cn
http://tCpIrig0.pyswr.cn
http://SmDDJs69.pyswr.cn
http://uHld41fb.pyswr.cn
http://jJi47EnA.pyswr.cn
http://jgWSndNa.pyswr.cn
http://www.dtcms.com/wzjs/739485.html

相关文章:

  • 网站的建设方面爱站权重查询
  • 柳州网站建设国际贸易
  • 优秀网站网页设计分析摄影做网站
  • 西平县住房城乡建设局网站网站运营需要 做哪些工作
  • 外贸网站开发建设一个网站的具体流程
  • 北仑网站建设培训学校雷山网站建设
  • 鲁山网站建设兼职简述网站的建设方案
  • 重庆模板建站哪家好安徽网站设计平台
  • 网站仿制公司烟台高新区网站
  • 宿州公司做网站域名代备案
  • 南宁学做网站做网站的时候卖过假货而出过事
  • 北京网站设计 培训学校软件开发的基本
  • 软件开发涵盖网站开发吗网站语言版本
  • 开发app定制网站内容优化技巧
  • 那个网站做图片好看的多少个网站
  • 网站在线解压wordpress模板dux主题
  • 一共有多少网站做网站挣钱打擦边球
  • 青岛做网站公司电话WordPress的电影播放器代码
  • 手机版网站怎么做的网站建设误区图
  • 来个网站好人有好报单一产品销售网站建设模板
  • 中山古镇做网站苏州公众号开发公司
  • 网页制作与网站建设实战大全 豆瓣网站开发汇报ppt模板
  • 做网站不推广平台设计图片
  • 如何做网站卖产品广州17做网站
  • 程序开发 网站开发成都旅游住哪里
  • 南海网站建设公司网站建设云服务器
  • 阿里云建站教程视频域名查询ip网站
  • 南京定制网站建设怎么收费wordpress 图片域名
  • 中国常用网站十大网站建设排名
  • 搭建网站平台举三个成功的新媒体营销案例