一,代码:
1,controller/articleController.go
package controller
import (
"github.com/gofiber/fiber/v2"
"industry/config"
)
type ArticleController struct{}
func NewArticleController() *ArticleController {
return &ArticleController{}
}
type Article struct {
//定义文章的struct
Id int `json:"id"`
Title string `json:"title"`
Author string `json:"author"`
}
func (dc *ArticleController) GetArticle(c *fiber.Ctx) error {
// 处理获取文章的逻辑
artilce := new(Article)
artilce.Id = 1
artilce.Title = "三国演义金圣叹批本"
artilce.Author = "罗贯中"
return c.Status(200).JSON(config.Success(artilce))
}
func (dc *ArticleController) CreateArticle(c *fiber.Ctx) error {
// 处理创建文章的逻辑
return c.Status(200).JSON(config.Error("已存在同名文章,创建失败!"))
}
2,config/result.go
package config
// 统一的返回参数格式
type Result struct {
Status string `json:"status"` // 统一的返回状态,‘success’ 成功 'failed' 失败
Code int `json:"code"` // 统一的返回码,0 成功 -1 失败 600 未登录 700 需身份验证
Message string `json:"message"` // 统一的返回信息
Data any `json:"data"` // 统一的返回数据
}
// 请求成功的默认返回
func Success(obj any) Result {
return Result{"success",0, "ok", obj}
}
// 请求失败的默认返回,code默认为-1
func Error(message string) Result {
return ErrorCode(-1, message)
}
//请求失败的默认返回
func ErrorCode(code int, message string) Result {
return Result{"failed",code, message, nil}
}
二,测试效果:
成功
报错
标签:返回,fiber,return,string,controller,json,Result,func From: https://www.cnblogs.com/architectforest/p/18540565