1.先处理全局异常
@ExceptionHandler(NoHandlerFoundException.class)
public BaseResponse noHandlerFoundExceptionHandler(NoHandlerFoundException e) {
log.error("系统内无此方法处理逻辑异常>>>" + e);
return new BaseResponse().withCode(ErrorEnum.SYS_NO_HANDLER.code).withMsg(ErrorEnum.SYS_NO_HANDLER.message);
}
2.改写application.yml配置
spring:
mvc:
throw-exception-if-no-handler-found: true
resources:
add-mappings: false
3.前两步即可对纯后端服务无处理逻辑方法,返回自定义错误码。但如果前后端混合项目,swagger会有影响,需配置
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/", "/static", "/public");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}