一,程式碼:
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}
}
二,測試效果:
成功
報錯