Golang Go语言中实现gin框架注解路由的工具,个人觉得挺有实际意义

Golang Go语言中实现gin框架注解路由的工具,个人觉得挺有实际意义

位置 github.com/1-st/gin-annotation 实现的效果像这样:


/* Hello a simple controller
[
	method:GET,
	groups:/api,
	path:/hello-world,
	need:auth
]
*/
func HelloWorld(ctx *gin.Context) {
	ctx.JSON( http.StatusOK, map[string]string{
		"msg": "hello, world",
	})
}

思路:读取 Go 源代码的 AST 文件,然后生成一个 route.entry.go 路由文件,像这样:

import (
	"gin-annotation/_example/simple/controller"
	"gin-annotation/_example/simple/middleware"
	"github.com/gin-gonic/gin"
)

func Route(e *gin.Engine) { api := e.Group("/api", middleware.Log) { v1 := api.Group("/v1") { v1.GET("/hello-world", middleware.Auth, controller.HelloWorld) } } }

如果觉得有用 /有趣请 star,谢谢!


更多关于Golang Go语言中实现gin框架注解路由的工具,个人觉得挺有实际意义的实战教程也可以访问 https://www.itying.com/category-94-b0.html

9 回复

感觉挺有意思的

更多关于Golang Go语言中实现gin框架注解路由的工具,个人觉得挺有实际意义的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


谢谢!头一次得到支持

谢谢!

Go 支持装饰器就好了,不过我觉得希望不大😂

妈耶,这波操作太骚了

👍 之前也做过一个基于注解生成 API 文档的,https://github.com/thewinds/mkdoc

没啥用

在Golang中,Gin框架作为一个高性能且简洁的HTTP web框架,受到了众多开发者的喜爱。关于Gin框架注解路由的工具,这确实是一个具有实际意义的特性,它大大简化了路由的定义和管理。

Gin框架本身并不直接支持注解路由,但可以通过一些第三方库或工具来实现这一功能。例如,ginrpc等库就提供了注解路由的支持,使得开发者可以通过注解的方式定义路由,这样不仅提高了代码的可读性,还方便了路由的集中管理。

注解路由工具通常支持多种接口模式,如原始的*gin.Context接口、自定义的*api.Context类型等,还可以支持请求参数的自动绑定和校验。此外,这些工具往往还提供了路由分组、静态文件服务、重定向等功能,以满足不同场景下的需求。

总的来说,Gin框架注解路由的工具通过简化路由定义和管理,提高了开发效率和代码的可维护性。对于使用Gin框架进行开发的Go语言项目来说,引入这样的工具无疑会是一个不错的选择。当然,在选择具体的工具时,还需要根据项目的实际需求和团队的技术栈来进行评估。

回到顶部