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,
})
}