我有一个异常处理程序控制器,我在其中捕获 HttpMessageNotReadableException,如下所示:
@ExceptionHandler(HttpMessageNotReadableException.class)
@ResponseStatus(value = HttpStatus.BAD_REQUEST)
@ResponseBody
protected ErrorMessage handleJsonException(final HttpMessageNotReadableException ex, final HttpServletRequest request)
{
if (ex.getCause() instanceof JsonParseException)
{
// some code
}
if (ex .getCause() instanceof JsonMappingException)
{
// some code
}
}
我使用格式错误的 json 导致 POST 和 PUT 的不同原因(JSON 文本中缺少第一个双引号)
{firstName":"abc","lastName":"xyz"}
POST - JsonParseException
PUT - JsonMappingException
我相信两者都应该具有相同的原因“ JsonParseException ”,因为语法错误。
任何人都可以建议为什么 spring 为 PUT 提供不同的“ JsonMappingException ”。