接口抛出异常信息中英文两套

时间:2021-07-27 20:13:33

场景:接口抛出的erroMsg需要有中英文语言两个版本,目前的做法是在接口调用的时候多加一个语言的参数,然后在try catch的时候在配置文件里找对应的翻译信息,再返回到接口报错信息中

新建两个properties文件,一个errocode对应的繁体中文的errMsg,一个放对应的英文映射,格式如下
接口抛出异常信息中英文两套
接口抛出异常信息中英文两套
接口抛出异常信息中英文两套

在controller中把调用接口的语句try catch起来,在catch中把errMsg根据errCode和语言字段,找到对应的报错信息翻译,然后直接抛出到接口返回信息中
接口抛出异常信息中英文两套
接口抛出异常信息中英文两套

P.S:
抛出的异常没有被catch到
在测试中遇到一个问题,就是有些异常没有被catch到。代码中的逻辑是这样的,先在接口调用处catch错误,然后切口处会再catch一遍异常,但是在测试中发现,因为BusinessException在代码中定义了两个类,所以在try catch的时候,只能catch到其中一个类型的异常。排查到原因以后,把其中一个异常类删除,然后修改所有的异常引用到留下的异常类,再重试就可以了。