gin框架使用系列之一——快速启动和url分组

2023-12-27 14:28:30

??gin是go语言常用的web框架,在go语言的web体系和微服务体系中经常会出现,所以学习gin框架在go开发中非常有必要,由于博客的篇幅限制,我将学习到的gin常用的方法写成一个系列,以便在工作和学习中使用。

一、gin的快速启动

??gin的使用非常简单,只需要以下几步:

1.1、 导入gin的依赖:import “github.com/gin-gonic/gin”

  • 如果使用最新的go.mod模式,只需要在go.mod文件中加入如下依赖即可
require (
	github.com/gin-gonic/gin v1.9.1
}
  • 如果是原来的包管理方式,则需要用如下命令导入gin的包
go get -u github.com/gin-gonic/gin

1.2、编写启动代码

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

func main() {
	router := gin.Default()
	router.GET("/ping", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"message": "pong",
		})
	})
	router.Run() // listen and serve on 0.0.0.0:8080
}

在gin中,使用router来注册对应的http的api,其执行的是func(*Context)类型的函数,所以在实际的开发中,我们只需要按照规则写好执行函数即可。

二、gin的url分组

所谓的url分组,指的是一组前缀相同的url,比如下面的url

http://localhost:8080/user/list
http://localhost:8080/user/add
http://localhost:8080/user/delete

上面的url中,/user/的路径是相同的,我们就可以将其视为一个分组,在进行url的注册时,只需要设置一次上层的/user/目录,下面就不需要在写这个目录,gin框架会自动加上对应的公共部分。

具体实现方式如下:

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

func main() {
	router := gin.Default()
	// 1、首先获得一个RouterGroup
	userGroup := router.Group("/user")
	// 2、在对应的userGroup中增加对应的url
	userGroup.GET("/list", listUsers)
	userGroup.POST("/add", addUser)
	userGroup.DELETE("/delete", deleteUser)
	router.Run() // listen and serve on 0.0.0.0:8080
}
func deleteUser(context *gin.Context) {
	context.JSONP(http.StatusOK, gin.H{
		"msssage": "deleteUser",
	})
}
func addUser(context *gin.Context) {
	context.JSONP(http.StatusOK, gin.H{
		"msssage": "addUser",
	})
}

func listUsers(context *gin.Context) {
	context.JSONP(http.StatusOK, gin.H{
		"msssage": "listUsers",
	})
}

启动项目后,用上面的几个url分别访问,就能等到对应的信息
在这里插入图片描述

后记
??个人总结,欢迎转载、评论、批评指正

文章来源:https://blog.csdn.net/u012559967/article/details/135243368
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。