您现在的位置是:主页 > news > 公司网站建设怎么协调内容与保密/营销策划方案模板
公司网站建设怎么协调内容与保密/营销策划方案模板
admin2025/6/2 23:22:40【news】
简介公司网站建设怎么协调内容与保密,营销策划方案模板,商场设计论文,网站方案案例怎么做前言 感谢开源项目gin-vue-admin,以及1010工作室的教程,项目文档 我只是在跟着学习,然后记录下笔记而已,可能会有新的代码加入,但是本质还是跟着学习的一个过程。 修改端口号 重新看一下上一篇中写的示例程序 pack…
前言
感谢开源项目gin-vue-admin,以及1010工作室的教程,项目文档
我只是在跟着学习,然后记录下笔记而已,可能会有新的代码加入,但是本质还是跟着学习的一个过程。
修改端口号
重新看一下上一篇中写的示例程序
package mainimport "github.com/gin-gonic/gin"func main() {r := gin.Default() //启动gin路由,携带基础中间件启动//让启动的路由接收get请求,且是/ping,运行一个匿名函数,将gin的上下文传入r.GET("/ping", func(c *gin.Context) {c.JSON(200, gin.H{ //将接收的信息返 回"message": "pong",})})r.Run()
}
可以发现最后是由Run()函数将服务运行起来的,所以在执行Run()时,可以更改端口号,例如这里如果使用端口号1010的话,只需要将1010传入Run()函数中。
r.Run(":1010")
这时重新运行程序,再用postman去进行请求,可以发现依然拿到了正确结果,说明已经可以通过1010接口访问到数据。
此时在代码中将所有的请求都定义出来:
package mainimport "github.com/gin-gonic/gin"func main() {r := gin.Default() //启动gin路由,携带基础中间件启动r.GET("/path/:id", func(c *gin.Context) {c.JSON(200, gin.H{"message": "pong",})})r.POST("/path", func(c *gin.Context) {c.JSON(200, gin.H{"message": "pong",})})r.DELETE("/path/:id", func(c *gin.Context) {c.JSON(200, gin.H{"message": "pong",})})r.PUT("/path", func(c *gin.Context) {c.JSON(200, gin.H{"message": "pong",})})r.Run(":1010") // listen and serve on 0.0.0.0:8080
}
GET
get请求可以在网址中看见所携带的参数,即参数在url和uri中进行挂载。
URL:Uniform Resource Locator 统一资源定位符;
URI:Uniform Resource Identifier 统一资源标识符;
URL: 关键词-“资源定位”, 那就是通过写明路径的方式,表示出资源的位置,位置被指定,通常资源也就被指定,例如302班1列3排的同学,身份是能够被确定的。
URI: 关键词-“资源标识”, 一个名为小明的男同学。我们明确的知道了,有这么个人,性别男,名小明。
修改代码
然后再将GET中的修改下,
r.GET("/path/:id", func(c *gin.Context) {//将请求中的参数拿出来id := c.Param("id")user := c.Query("user")pwd := c.Query("pwd")c.JSON(200, gin.H{"id": id,"user": user,"pwd": pwd,})})
这里利用Param将请求中的地址栏的id(这里是123提取出来),和用Query将后面的参数user和pwd提取出来,然后将这三个参数返回
可以看见,postman中发起的请求已经拿到的了正确的请求返回。
这里如果请求中没有给用户名或者pwd,那么服务端是无法解析到对应参数的,所以返回中也将是空白。
其中Query是读取参数,当这个参数没有时给空,DefaultQuery是读取参数,当这个参数没有时给一个指定的默认值。
POST
参数在form中 、body中,或者在uri中
form是一种表单的形式提供给后台
body是常用的json进行交互
将post部分重写
r.POST("/path", func(c *gin.Context) {user := c.DefaultPostForm("user", "qqyking")pwd := c.PostForm("pwd")c.JSON(200, gin.H{"user": user,"pwd": pwd,})})
在postman中构建post请求
开始时也曾尝试url中带参数,然后使用post请求访问,但是都失败了。
其中PostForm是读取参数,当这个参数没有时给空,DefaultPostForm是读取参数,当这个参数没有时给一个指定的默认值。
DELETE
一般情况为uri,同样也可以为body
用法和GET基本相同,但是不同的是它也可以从body内取参数
然后重写DELETE
r.DELETE("/path/:id", func(c *gin.Context) {id := c.Param("id")c.JSON(200, gin.H{"id": id,})})
然后在postman中构建DELETE请求
PUT
参数在form body或者uri中
将put部分重写
r.PUT("/path", func(c *gin.Context) {user := c.DefaultPostForm("user", "qqyking")pwd := c.PostForm("pwd")c.JSON(200, gin.H{"user": user,"pwd": pwd,})})
在postman中构建put请求
可以看出POST和PUT用法是一摸一样的,只不过请求的方式不同
如此一来就通过GIN的接口实现了增删改查
最后完整代码示例
package mainimport ("github.com/gin-gonic/gin"
)func main() {r := gin.Default() //启动gin路由,携带基础中间件启动 logger and recovery (crash-free) 中间件r.GET("/path/:id", func(c *gin.Context) {//将请求中的参数拿出来id := c.Param("id")user := c.Query("user")pwd := c.DefaultQuery("pwd", "123456")c.JSON(200, gin.H{"id": id,"user": user,"pwd": pwd,})})r.POST("/path", func(c *gin.Context) {user := c.DefaultPostForm("user", "qqyking")pwd := c.PostForm("pwd")c.JSON(200, gin.H{"user": user,"pwd": pwd,})})r.DELETE("/path/:id", func(c *gin.Context) {id := c.Param("id")c.JSON(200, gin.H{"id": id,})})r.PUT("/path", func(c *gin.Context) {user := c.DefaultPostForm("user", "qqyking")pwd := c.PostForm("pwd")c.JSON(200, gin.H{"user": user,"pwd": pwd,})})r.Run(":1010") // listen and serve on 0.0.0.0:8080
}