Я получаю ответ 400 Http, когда я передаю неверный формат json,
Я бы хотел вернуть вместо этого пользовательское json-сообщение, может ли кто-нибудь посоветовать, как это сделать весной 4.1?Как обработать ошибку 400 в Spring MVC
Обработка Execption с использованием ControllerAdvice, но она не работает.
@ControllerAdvice
public class GlobalControllerExceptionHandler {
@ExceptionHandler({org.springframework.http.converter.HttpMessageNotReadableException.class})
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ResponseBody
public String resolveException() {
return "error";
}
}
пружинно-config.xml приведено ниже
<bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="order" value="1" />
<property name="mediaTypes">
<map>
<entry key="json" value="application/json" />
</map>
</property>
<property name="defaultViews">
<list>
<!-- Renders JSON View -->
<bean
class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
</list>
</property>
</bean>
, приведенные ниже запроса Json и ответа от сервера приложений WebSphere (7.0).
Request 1: Empty json request : {}
Response Status Code: 400 Bad Request
Response Message : Json request contains invalid data:null
Request 2:Invalid format of Json Request : {"data":,"name":"java"}
Response Status Code: 400 Bad Request
Response or Exception message :
nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected character (',' (code 44)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: [email protected]; line: 5, column: 57]
Похожий вопрос как ссылку ниже Using Spring MVC, accepting POST requests with bad JSON leads to a default 400 error code server page being returned
В чем проблема при использовании '@ ControllerAdvice'? –
@ControllerAdvice не запускается. –
1. Сканируются ли пакеты для аннотаций? 2. Исключено ли это исключение? – sergiu