教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 gin的一个标准化返回工具

gin的一个标准化返回工具

发布时间:2022-02-27   编辑:jiaochengji.com
教程集为您提供gin的一个标准化返回工具等资源,欢迎您收藏本站,我们将为您提供最新的gin的一个标准化返回工具资源
<textarea id="append-test" style="display:none;">大家在用gin的写服务的时候多多少少会遇到一些需要频繁处理响应的格式、错误、翻译的问题,这里给大家推荐一个非常干净高效的格式化工具。 **GINFMT**: [github地址](https://github.com/sleagon/ginfmt) 这玩意很简单,代码不超过200行,没有用任何反射,除了gin本身没有以来任何标准库的包,理论上可以兼容任何版本的gin。 它实现的功能如下: 1. 所有的响应都是格式化的code/message/data。 2. 所有的错误都按级别打印好了,可以自定义日志工具,可以自定义日志级别,所有错误具备错误栈。 3. 所有的错误都支持I18N翻译,支持自定义翻译工具。 4. 性能好,不以来反射和任何三方库。 下面是一个可以直接跑的例子: ```go package main import ( "fmt" "net/http" "github.com/gin-gonic/gin" "github.com/sleagon/ginfmt" "github.com/sleagon/ginfmt/errfmt" ) var ( BadRequest = errfmt.Register(http.StatusBadRequest, 10001, "Params is invalid") ) func main() { ginfmt.Init(nil, nil) r := gin.Default() r.Use(ginfmt.MW()) r.GET("/bad", func(c *gin.Context) { ginfmt.Error(c, BadRequest.Gen()) }) r.GET("/ping", func(c *gin.Context) { ginfmt.Data(c, "pong") }) r.GET("/bad_payload", func(c *gin.Context) { // do sth err := fmt.Errorf("this is not a valid phone num %w", BadRequest.Gen()) ginfmt.DataError(c, gin.H{"phone": "invalid", "email": "valid"}, err) }) r.Run() // listen and serve on 0.0.0.0:8080 } ```</textarea>
到此这篇关于“ gin的一个标准化返回工具”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
gin的一个标准化返回工具
Golang Gin 实战(六)| 获取Form表单参数和原理分析
GO 依赖管理工具go Modules(官方推荐)
Gin 框架绑定 JSON 参数使用 jsoniter
gin定义统一处理错误
Golang pprof 性能分析与火焰图
20 个好用的 Go 语言微服务开发框架
20 个有用的 Go 语言微服务开发框架
golang 上传文件(包括 gin 实现)
05.Go代码风格的唯一标准

[关闭]
~ ~