Помогите мне кто-нибудь, пожалуйста, в этом вопросе. Проект, над которым я работаю, является старым mvc, и его не нужно менять, так что придется разобраться с тем, «что у нас есть :)». это мой метод контроллера, класс которого помечен @Controller
@RequestMapping(method=RequestMethod.POST)
public String createSomething(@RequestBody somejson, Model m) throws Exception {
SomeCustomListenerClass listener = new SomeCustomListenerClass(m);
AnnotherClass ac = somejson.toNotification(someService, anotherService, listener);
try {
ac = someService.createSomething(ac, listener);
m.addAttribute("success", true);
m.addAttribute("notificationId", ac.getId());
}
catch(SawtoothException ex) {
return handleError(ex, "Create Notification", listener);
}
return "structured";
}
, а этот - тело метода handleError
private String handleError(Exception ex, String operation, SomeCustomListenerClass listener) {
if (!listener.hasErrors()) {
log.error("Unexpected error getting notification detail", ex);
listener.error("notification.controllerException", operation);
}
return "error";
}
Теперь я получаю правильные ошибки в клиенте сторона, скажем, в браузере, но также получение кода состояния 500 введите описание изображения здесь
теперь мой босс говорит, что мы должны получить 400, когда возникают ошибки проверки, а не 500, как сейчас. Итак, пожалуйста, помогите мне, ребята, как решить эту проблему.