Files
zogo/httpx/httpx.go
T

36 lines
785 B
Go

// Package httpx 提供 Gin 服务的统一出入参收口:统一 JSON 响应格式、
// 错误码透出(CodeMsg)与请求参数绑定校验(Parse)。
package httpx
import (
"errors"
"net/http"
"github.com/gin-gonic/gin"
)
// OkJson 以 200 OK 返回成功响应,统一格式:{code:0, msg:"OK", data:...}
func OkJson(c *gin.Context, data any) {
c.JSON(http.StatusOK, gin.H{
"code": 0,
"msg": "OK",
"data": data,
})
}
// ErrorJson 统一错误出参: CodeMsg 携带的错误码透出(如 401), 其余折叠为 code 1。
func ErrorJson(c *gin.Context, err error) {
code := 1
msg := err.Error()
var cm *CodeMsg
if errors.As(err, &cm) {
code = cm.Code
msg = cm.Msg
}
c.JSON(http.StatusOK, gin.H{
"code": code,
"msg": msg,
"data": nil,
})
}