springboot下rest接口抛异常的定制处理

2023-12-13 04:35:38

这里简单记录一下。
主要是定制ExceptionMapper,作为jaxrs框架的provider,即可将rest接口实现里抛的异常截住,并转化为Response发送给前台。
一个样例是:

@Provider
public class MyExceptionHandler implements ExceptionMapper<MyException> {

    @Override
    public Response toResponse(MyException exception) {
        MyResponse<Object> resp = new MyResponse<>();
        resp.setCode(1);
        // 根据异常错误码做国际化
        String msg = I18N.getMessage(exception.getCode(), exception.getParams());
        resp.setMessage(msg);
        return Response.ok(resp).type(MediaType.APPLICATION_JSON_TYPE).build();
    }
}

然后将provider bean配置到jaxrs的配置文件里:

<jaxrs:providers>
    <ref bean="myExceptionHandler "/>
</jaxrs:providers>

文章来源:https://blog.csdn.net/tlxamulet/article/details/134879748
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。