首页 > 其他分享 >Golang-Gin Response 统一返回restful格式的数据

Golang-Gin Response 统一返回restful格式的数据

时间:2022-10-22 09:44:25浏览次数:55  
标签:code http data Golang context gin msg Gin restful

目的: gin返回restful格式的数据,返回的200,201 的数据 也包括异常时的404/500等情况
直接调用即可

package response

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

// Response
// context 上下文
// httpStatus http 状态码
// code 自己定义的状态码
// data 返回的空接口
// msg 返回的信息
func Response(context *gin.Context, httpStatus int, code int, data gin.H, msg string) {
	context.JSON(httpStatus, gin.H{
		"code": code,
		"data": data,
		"msg":  msg,
	})
}

func Success(context *gin.Context, data gin.H, msg string) {
	context.JSON(http.StatusOK, gin.H{
		"code": 200,
		"data": data,
		"msg":  msg,
	})
}

func Fail(context *gin.Context, data gin.H, msg string) {
	context.JSON(http.StatusOK, gin.H{
		"code": 400,
		"data": data,
		"msg":  msg,
	})
}

func UnprocessableEntity(context *gin.Context, data gin.H, msg string) {
	context.JSON(http.StatusUnprocessableEntity, gin.H{
		"code": 422,
		"data": data,
		"msg":  msg,
	})
}

标签:code,http,data,Golang,context,gin,msg,Gin,restful
From: https://www.cnblogs.com/zichliang/p/16815360.html

相关文章

  • Golang 几个小时前 几分钟 几天前的处理
    在用golang爬虫的时候总会遇到10天前10分钟前刚刚这种很影响我们爬取正常事件所以我写了个方法来格式化这种事件packageutilsimport( "fmt" "regexp" "strco......
  • Golang 和 Python 随机生成N位字符串
    Golang:funcRandomString(nint)string{ varletters=[]byte("ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789") result:=make([]byte,n) /......
  • Golang基础-运算符
    运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等运算符分为:算术运算符:+、-、*、/,%,++,--赋值运算符:=、+=、-=、*=、/=、%=关系运算符:==、!=、>、<、>=、<=......
  • 插件管理(Manager Plugins)
    插件管理(ManagerPlugins)安装需要的插件:Deploytocontainer(支持自动化将代码部署到tomcat容器)MavenIntegration(jenkins利用maven编译,打包,所需插件)GitHubAuthentica......
  • Origin 出图出现demo的解决办法
    在Origin安装目录中找到Origin.exe程序,重新下载下来该文件(下载网盘路径放在下面),然后替换掉旧的Origin.exe,双击两下再打开Origin就可以正常使用了;但一般每隔7天就需要重新双......
  • CentOS 7 环境下部署 Nginx 服务
    sudosetenforcePermissivesudovim/etc/selinux/configSELINUX=permissivesudosystemctlstopfirewalld.servicesudosystemctldisablefirewalld.service......
  • nginx 配置一个网站多个接口
    vue一个前端但是后端接口多个,在nginx中配置:server{listen10001;server_nameshare_pingtai;location/{root......
  • centos 7.6 docker nginx
    一、安装docker二、创建Dockerfile#创建文件夹mkdircentos_nginxcdcentos_nginxvimDockerfile#指定使用那个基础镜像[email protected]......
  • dremio 存储插件之StoragePluginRulesFactory 类简单说明
    StoragePluginRulesFactory是dremio为了分离每个插件的规则,我们存储插件可以包含自己的规则工厂,具体使用到StoragePluginRulesFactory的包含了CatalogServiceImpl,SqlHa......
  • Cross-Origin Read Blocking (CORB) blocked cross-origin response(关于jsonp的正确
    参考一:https://blog.csdn.net/weixin_34306446/article/details/91897992?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7E......