go zero 报错进阶指南中

news/2024/7/3 5:42:01

在同一返回格式中出现错误 怎么修改也没用

httpx.SetErrorHandler(func(err error) (int, interface{}) {
	switch e := err.(type) {
	case *errorx.CodeError:
		return http.StatusOK, e.Data()
	default:
		return http.StatusInternalServerError, nil
	}
})
加上这个之后还得在返回格式也得改掉

修改之前

func loginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
	var req types.LoginReq
	if err := httpx.Parse(r, &req); err != nil {
		httpx.ErrorCtx(r.Context(), w, err)
		return
	}

	l := logic.NewLoginLogic(r.Context(), svcCtx)
	resp, err := l.Login(&req)
	if err != nil {
		httpx.ErrorCtx(r.Context(), w, err)
	} else {
		httpx.OkJsonCtx(r.Context(), w, resp)
	}
}

}

修改之后

func loginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
	var req types.LoginReq
	if err := httpx.Parse(r, &req); err != nil {
		httpx.ErrorCtx(r.Context(), w, err)
		return
	}

	l := logic.NewLoginLogic(r.Context(), svcCtx)
	resp, err := l.Login(&req)
	if err != nil {
		httpx.Error(w, err)
	} else {
		httpx.OkJsonCtx(r.Context(), w, resp)
	}
}

}


http://www.niftyadmin.cn/n/2308452.html

相关文章

symbian 模拟器 相关

(1)模拟器 里面测试的程序如何删除? for s60 2nd平台: 删除/epoc32/release/wins/udeb/z/system/apps/myapp的目录即可 for s60 3rd平台: a、删除/epoc32/release/winscw/udeb/myapp.exe b、删除/epoc32/release/winscw/udeb/z/private/1000…

S60 Qt 开发环境配置指南(Carbide gcce)

S60 Qt 开发环境配置指南 安装之前需要下载以下内容:ActivePerl 5.10.1 这是目前最新版本,S60 SDK需要perl 5.6.1以上版本http://www.activestate.com/activeperl/ JRE Java runtime, S60 SDK 需要1.5以上的版本,我一向觉得Java版本管理混乱…

GPL和LGPL的区别!

什么是 GPL、LGPL 和 GFDL?它们和源代码以及商业销售之间的关系是什么? GPL 是 GNU General Public License (GNU 通用公共许可证)的缩写形式;LGPL 是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,…

使用QtCreator 1.3开发Symbian程序

QtCreator 1.3的发布里增加了开发Symbian程序的支持。文档上说这是一个实验性的功能,我当了一把小白鼠试了一下,能正常工作。 以下是我的几个操作步骤。1. 兵马未动,粮草先行。该安装的东西都得先装上,基本上和利用Carbide做开发的…

Nokia 论坛Qt开发者培训资料

qt_for_mobile_slides_day_1 (Qt 偏底层知识,for windows/S60) qt_for_mobile_slides_day_2 (Qt 偏上层知识,for windows/S60 qt_for_mobile_slides_day_3 (Maemo 开发) exercise_day_1 demos_day_2

Symbian开发总结

83. 生成Dll,App时不能使用静态可写变量: static const char * KStrX "x"; 使用 OPTION GCC -save-temps 可以生成汇编代码,查找Bss和Text段就可以看到静态可写变量。 改为: static const char * const KStrX &q…

QT symbian 开发框架调研

Qt是一个跨平台的C图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。 授权模式: Qt开放源代码,并且提供自由软件的用户协议。使得它…

电脑仙人掌机器人作文_初中生优秀作文:致敬奋斗的时光

初中生优秀作文:致敬奋斗的时光从四月底立项,到五月底比赛,机器人社团的创意项目仅准备了短短一个月的时间。在这一个月的时间里,我与两名队友精诚合作,共同谱写了一曲不为比赛而比赛的奋斗赞歌。立项——三天当“水果…