首页 > 其他分享 >go fiber: controller返回json格式

go fiber: controller返回json格式

时间:2024-11-16 12:44:23浏览次数:1  
标签:返回 fiber return string controller json Result func

一,代码:

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

相关文章

  • go fiber:使用独立的routes文件组织controller
    一,go代码:controller/articleController.gopackagecontrollerimport"github.com/gofiber/fiber/v2"typeArticleControllerstruct{}funcNewArticleController()*ArticleController{ return&ArticleController{}}func(dc*ArticleController)......
  • go fiber:全局中间件添加排除的path
    一,代码:全局中间件对所有的api生效,如果有个别不想应用全局中间件的api,则需要从代码中进行排除:例如:支付宝或微信的回调接口packagemiddlewareimport( "fmt" "github.com/gofiber/fiber/v2""regexp")funcApiSign(c*fiber.Ctx)error{//得到当前url ......
  • go fiber: 把异常信息写到错误日志中
    一,代码:1,userBusiness.gopackagebusinessimport("fmt")//得到多个用户,按分页返回funcGetUserList(pageint,pageSizeint)(string,error){b:=0a:=100/bfmt.Println(a)return"1,2,3",nil}代码中包含有除0错,会引发panic2,userControlle......
  • go fiber: 增加访问日志accesslog
    一,代码这里我们使用官方提供的github.com/gofiber/fiber/v2/middleware/logger这个现成的中间件官方文档地址:https://docs.gofiber.io/api/middleware/logger/routes.gopackageroutesimport( "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/......
  • go fiber: 多个全局中间件的执行顺序
    一,代码:middleware.gopackagemiddlewareimport( "fmt" "github.com/gofiber/fiber/v2")funcMiddle1(c*fiber.Ctx)error{ fmt.Println("middle1before") err:=c.Next() fmt.Println("middle1after") returnerr}......
  • go fiber:路由中间件
    一,目录结构:二,代码1,中间件代码packagemiddlewareimport( "fmt" "github.com/gofiber/fiber/v2" "industry/config")//token校验funcCheckUser(c*fiber.Ctx)error{ token:=c.Query("token") fmt.Println("token:"......
  • 在 tsconfig.json 文件中,compilerOptions.types 字段用于指定 TypeScript 编译器应该
    在tsconfig.json文件中,compilerOptions.types字段用于指定TypeScript编译器应该包含的类型声明文件。这些类型声明文件提供了类型信息,使得TypeScript能够在编译时进行类型检查和提供智能提示。你提到的配置项指定了几个常用的类型声明文件,下面是对这些配置项的详细解释:配......
  • javaScript交互补充3(JSON数据)
    3.1、JSON(1)、定义:JSON数据格式JavaScriptObjectNotation缩写即js对象表示法由于JS中的对象只有JS自己认识,其他的语言都不认识,所以引入了JSON,JSON就是一个特殊格式的字符串,这个字符串可以被任意的语言所识别,并且可以转换为任意语言中的对象,JSON在开发中主要用来数据的......
  • 【微信小程序】page.json配置-pages页面路由
    在微信小程序中,pages.json文件是用于配置应用的全局样式和页面路由的重要文件。通过合理配置pages数组,可以有效地管理小程序的页面路径、窗口表现、网络超时时间等。本文将详细介绍pages数组的配置项及其用法,并提供一些最佳实践。1.pages数组概述pages数组用于定......
  • go fiber: 抛出自定义异常
    一,代码:1,自定义错误类:packageconfigimport("fmt")//定义错误代码和错误信息typeMyErrorstruct{CodeintMsgstring}//需要定义通用的Error()方法func(eMyError)Error()string{returnfmt.Sprintf("Code:%d,Msg:%s",e.Code,e.M......