С Spring 5 я в настоящее время могу настроить страницу ошибки в src/main/webapp/web.xml
, то есть добавлена следующая конфигурация:
<error-page>
<location>/WEB-INF/error.html</location>
</error-page>
Inтаким образом, error.html
будет отображаться, когда в контроллере 1012 * будет Exception
.Однако этот error.html
имеет формат html , отличный от ожидаемого формата JSON .
Я пытался создать контроллер ошибок с некоторымикод, подобный следующему:
@RestController
@RequestMapping(value = "/handler")
public class ErrorController {
@RequestMapping(value = "/errors")
public String renderErrorPage(HttpServletRequest httpRequest) {
System.out.println("DEBUG::come to error page");
return "test error";
}
}
В то же время настроено error-page
как таковое:
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<error-page>
<location>/handler/errors</location>
</error-page>
Но ErrorController
не может быть вызвано.
Вопрос: Как настроить страницу ошибки Spring в формате JSON с web.xml и контроллером ошибок