Golang-Gin Response 统一返回restful格式的数据
REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”。restful api统一返回格式,可以帮助大家返回统一的格式,不需要去写Result,开箱即用,不用更改。
目的: gin返回restful格式的数据,返回的200,201 的数据 也包括异常时的404/500等情况
全局统一返回RESTful风格数据,主要是实现Respon接口的方法,对返回值在输出之前进行修改。
直接调用下文代码即可
package response
import (
"github.com/gin-gonic/gin"
"net/http"
)
// Response
// context 上下文
// httpStatus http 状态码
// code 自己定义的状态码
// data 返回的空接口
// msg 返回的信息
func Response(context *gin.Context, httpStatus int, code int, data gin.H, msg string) {
context.JSON(httpStatus, gin.H{
"code": code,
"data": data,
"msg": msg,
})
}
func Success(context *gin.Context, data gin.H, msg string) {
context.JSON(http.StatusOK, gin.H{
"code": 200,
"data": data,
"msg": msg,
})
}
func Fail(context *gin.Context, data gin.H, msg string) {
context.JSON(http.StatusOK, gin.H{
"code": 400,
"data": data,
"msg": msg,
})
}
func UnprocessableEntity(context *gin.Context, data gin.H, msg string) {
context.JSON(http.StatusUnprocessableEntity, gin.H{
"code": 422,
"data": data,
"msg": msg,
})
}