Почему мое веб-приложение возвращает 200, когда вызывается исключение? Несмотря на то, что я получаю правильное тело ответа за ошибку.Spring MVC возвращает неправильный код состояния Http
Ответ образец будет:
Status Code = 200
Body: { "error": "User does not exist" }
Мой код выглядит следующим образом:
@RequestMapping(method = RequestMethod.PUT, value = "/{userId}")
@ResponseStatus(HttpStatus.OK)
public void updateUser(@PathVariable("userId") String userId,
@RequestBody(required = false) Map<String, String> fields)
throws UserNotFoundException {
// code that leads to the exception being thrown
}
@ExceptionHandler(UserNotFoundException.class)
@ResponseBody
@ResponseStatus(HttpStatus.NOT_FOUND)
public ErrorDto userNotFound() {
return new ErrorDto("User does not exist");
}
Это все еще выдало код состояния 200 – Hank
Странный - я использовал его вчера в своем собственном проекте, и он правильно установил статус. –