Вопрос: как я могу обрабатывать исключения, возникающие в конечных точках MVC в контексте управления?
public class MyMvcEndpoints extends EndpointMvcAdapter {
@ResponseBody
@RequestMapping(method = GET, value = "/foo", produces = APPLICATION_JSON_VALUE)
public Foo foo() {
throw new FooNotFound("Foo Not Found!");
}
}
@ResponseStatus(value = HttpStatus.NOT_FOUND)
public class FooNotFound extends RuntimeException {
public NotFoundException(String message){
super(message);
}
}
С текущей конфигурацией я получаю 500
вместо 404
. Я попробовал обычные подходы к обработке исключений, такие как методы ControllerAdvice, ExceptionHandler и т. д. Безуспешно.
Я также нашел CompositeHandlerExceptionResolver
в EndpointWebMvcChildContextConfiguration
, который отвечает за обработку исключений. Я попытался определить свой собственный компонент HandlerExceptionResolver
, но он не может найти мой преобразователь в контексте управления.
@ResponseStatus
в качестве исключения. Вот один пример. В том, что вы делаете, должно быть что-то еще, что вы не показали. - person Andy Wilkinson   schedule 01.08.2017500
. - person Rad   schedule 01.08.2017