写点什么

Golang Gin 框架入门介绍(二)

作者:liuzhen007
  • 2021 年 11 月 15 日
  • 本文字数:1175 字

    阅读完需:约 4 分钟

Golang Gin 框架入门介绍(二)

目录

  • 前言

  • 正文

  • 一、定义 GET, POST, PUT, PATCH, DELETE 和 OPTIONS 的接口

  • 二、解析 path 中的参数

  • 结尾

前言

Gin 是使用纯 Golang 语言实现的 HTTP Web 框架,Gin 的接口设计简洁,性能极高,现在被广泛使用。上一篇文章介绍了 Gin 的基本使用方式,今天我们详细看一看 Gin 在接口定义和参数解析方面的内容。

正文

一、定义 GET, POST, PUT, PATCH, DELETE 和 OPTIONS 的接口

package main
import "github.com/gin-gonic/gin"
func main() { // 创建一个默认的 gin 路由器 router := gin.Default()
// 定义一个Get类型的服务接口 router.GET("/someGet", getting) // 定义一个Post类型的服务接口 router.POST("/somePost", posting) // 定义一个Put类型的服务接口 router.PUT("/somePut", putting) // 定义一个DELETE类型的服务接口 router.DELETE("/someDelete", deleting) // 定义一个Patch类型的服务接口 router.PATCH("/somePatch", patching) // 定义一个Head类型的服务接口 router.HEAD("/someHead", head) // 定义一个Options类型的服务接口 router.OPTIONS("/someOptions", options)
// 启动服务,默认监听8080端口,或者通过PORT环境变量设置 router.Run()}
复制代码

通过简单的编码,基于 Gin 的服务器就支持了多种类型请求的服务接口。另外,在服务启动的时候,我们也可以通过直接指明端口的方式来设置服务监听的端口,比如下面的方式:

router.Run(":3001")
复制代码

上面的语句,我们可以知道服务监听了 3001 端口。

二、解析 path 中的参数

下面介绍几种 path 中存在参数时,如何解析的情况,具体请看下面的代码示例。

package main
import "github.com/gin-gonic/gin"
func main() { router := gin.Default()
// 可以匹配 /user/john,但是不能匹配 /user/ 和 /user 请求 router.GET("/user/:name", func(c *gin.Context) { name := c.Param("name") c.String(http.StatusOK, "Hello %s", name) })
// 可以匹配 /user/john/ 和 /user/john/send router.GET("/user/:name/*action", func(c *gin.Context) { name := c.Param("name") action := c.Param("action") message := name + " is " + action c.String(http.StatusOK, message) })
// 对于每个匹配的请求,上下文将保存路由定义 router.POST("/user/:name/*action", func(c *gin.Context) { c.FullPath() == "/user/:name/*action" // true })
router.Run(":8080")}
复制代码

可以看出,解析 path 中的参数时需要注意的细节还是非常多的。

结尾

好了,今天关于 Gin 在接口定义和参数解析方面的内容就介绍完了,后续内容敬请期待,感谢!


作者简介:大家好,我是 liuzhen007,是一位音视频技术爱好者,同时也是 CSDN 博客专家、华为云社区云享专家、签约作者,欢迎关注我分享更多干货!


发布于: 2021 年 11 月 15 日阅读数: 8
用户头像

liuzhen007

关注

敲代码,搞开发。 2021.05.01 加入

本人深耕音视频技术,走全栈路线,前后端通吃,兼顾各端与流媒体服务器。 博客主页地址:https://liuzhen.blog.csdn.net 微信公众号:玩转音视频 欢迎交流学习!

评论

发布
暂无评论
Golang Gin 框架入门介绍(二)