Контроль ошибок в RestController и контроллерах с помощью Spring Boot - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть собственный контроллер ошибок, который хорошо работает для моих стандартных @Controllers:

@Controller
public class TVFErrorController implements ErrorController  {

    @Override
    public String getErrorPath() {
        return "/error";
    }
}

Однако, похоже, это относится и к моему RestController. В моем RestController я вызываю исключения, которые я хочу вернуть ошибку JSON. Например,

@ResponseStatus(value = HttpStatus.UNAVAILABLE_FOR_LEGAL_REASONS)
public class PremiumOnlyAPIException extends RuntimeException {
    private static final long serialVersionUID = 1L;
    public PremiumOnlyAPIException() {
        super();
    }
    public PremiumOnlyAPIException(String message, Throwable cause) {
        super(message, cause);
    }
    public PremiumOnlyAPIException(String message) {
        super(message);
    }

    public PremiumOnlyAPIException(Throwable cause) {
        super(cause);
    }
}

Однако что происходит, так это то, что мой ErrorController, по-видимому, перенаправляет ответ RestControllers на обработчик / error.

Как я могу использовать стандартный ErrorController для моего ПРОСТО моего RestController?

...