Я реализовал пользовательский контроллер ошибок, чтобы показать пользовательские пользовательские представления ошибок. Я следовал учебному пособию (больше не могу его найти), поэтому мой контроллер выглядит так:
@Controller
public class CustomErrorController implements ErrorController {
@RequestMapping("/error")
public String handleError(HttpServletRequest request) {
Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
if (status != null) {
Integer statusCode = Integer.valueOf(status.toString());
if (statusCode == HttpStatus.FORBIDDEN.value()) {
return "error/403";
} else if (statusCode == HttpStatus.NOT_FOUND.value()) {
return "error/404";
} else if (statusCode == HttpStatus.INTERNAL_SERVER_ERROR.value()) {
return "error/500";
}
}
return "error/default";
}
@Override
public String getErrorPath() {
return "/error";
}
}
Пока все хорошо, но с 17 мая 2019 года SonarQube жалуется на @RequestMapping
без метода. Поэтому я добавил 4 метода, которые я использую:
@RequestMapping(value = "/error", method = { RequestMethod.GET, RequestMethod.POST, RequestMethod.PUT,
RequestMethod.DELETE })
Но Сонар теперь жалуется, что у меня слишком много методов. Итак, как правильно реализовать пользовательский ErrorController, который соответствует этому правилу сонара ?