后端开发-如何优雅地进行错误码管理

如题所述

第1个回答  2022-07-06
在一个项目乃乃至整个团队在所有项目的开发过程中,统一设计和规范使用错误码,是必须要落实的一个点。

错误码的设计,直接关系到后端接口的条理性和优雅性;错误码的使用,直接关系到开发人员的开发规范和开发效率。

所以,对错误码进行优雅的管理,是非常有必要的,是一个团队的基石之一。

下面,我会从如何设计,管理和多语言错误码的具体实现等三个方面一一阐述。

首先,需要对错误码大致分为两类:

其次,错误码需要包含的要素:

主要包含:成功和失败(未知错误)

A_PARAM_VALIDATION_ERROR( "A0100", "参数校验失败", "parameter validation error" )

B_STORAGE_ERROR("B0100", "持久化存储错误", "storage error")

C_RESOURCE_OUT_ERROR( "C0100", "系统资源异常", "system resource error" )

由于目前没有人力投入到错误码管理平台的开发,市面上也没有比较合适的开源项目可以使用,因此,暂时使用飞书文档做错误码管理。详情见开放平台错误码管理

代码侧,首先要有一个枚举类,用于存放所有错误码。

前端发起请求,在 header 里携带 HttpHeaders. ACCEPT_LANGUAGE=zh-Hans ;

后端 LanguageInterceptor 拦截器拦截后,将 ACCEPT_LANGUAGE 塞入当前请求的 Threadlocal 变量里;

后端返回错误码给前端: ReturnBase.error(ReturnEnum. C_GENERAL_BUSINESS_ERROR );

在 ReturnBase.error() 方法中,会根据之前塞入到 Threadlocal 里的 ACCEPT_LANGUAGE 变量,自动选择返回中文还是英文的错误文案。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网