#spring-boot #spring-mvc #interceptor #spring-boot-maven-plugin
#весенняя загрузка #spring-mvc #перехватчик #spring-boot-maven-plugin
Вопрос:
Я форматирую вывод моего приложения springboot в json, даже когда происходит исключение.
формат следующий:
{
"result": null,
"code": "-1",
"msg": "Exception happen"
}
Это нормально, когда код только с ResponseBodyAdvice, основной код :
@ResponseStatus(HttpStatus.OK)
@ExceptionHandler(Exception.class)
@ResponseBody
public <T> GlobalResponse<T> handleException(HttpServletRequest request, Exception e) {
return GlobalResponse.fail("Exception happen");
}
Но когда я добавляю перехватчик, подобный приведенному ниже коду, приложение всегда вызывает путь «/error», возвращая страницу ошибки, а не данные json.
@SpringBootConfiguration
public class InterceptorConfig extends WebMvcConfigurationSupport{
@Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new TestInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/error");
super.addInterceptors(registry);
}
TestInterceptor является перехватчиком проверки токена.
Теперь я добавляю путь включения контроллера «/ error», чтобы справиться с этим, но я хочу знать, есть ли лучший и естественный способ решить эту проблему.