gin 框架 封装返回信息
时间: 2023-07-05 21:31:18 浏览: 59
好的,针对这个问题,我可以为您提供一个封装返回信息的示例:
首先,我们可以定义一个结构体来表示通用的返回信息:
```go
type Response struct {
Code int `json:"code"` // 状态码
Message string `json:"message"` // 消息
Data interface{} `json:"data"` // 数据
}
```
然后,我们可以封装一个函数来生成这个结构体的实例:
```go
func NewResponse(code int, message string, data interface{}) Response {
return Response{
Code: code,
Message: message,
Data: data,
}
}
```
最后,在我们的业务代码中,我们可以使用这个函数来封装返回信息:
```go
func getInfo(c *gin.Context) {
// 从数据库中获取信息
info, err := getInfoFromDB()
if err != nil {
// 发生错误时,返回错误信息
c.JSON(http.StatusInternalServerError, NewResponse(http.StatusInternalServerError, err.Error(), nil))
return
}
// 成功获取信息时,返回成功信息和数据
c.JSON(http.StatusOK, NewResponse(http.StatusOK, "获取信息成功", info))
}
```
这样,我们就可以通过这个封装函数,方便地返回通用的返回信息结构体,并且可以在其中包含我们需要的状态码、消息和数据。