我写了一个post
控制器来处理来自JSON
请求的日期。
现在,对于无效日期,它会返回一般的500错误而没有说明。
(即" statusDate":" 2017-13-27")
如何返回自定义错误消息而不是常规错误消息?
(即"状态日期中的日期无效'")
这是代码:
public class CustomDateDeserializer extends JsonDeserializer<Date> {
@Override
public Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
format.setLenient(false);
String dateAsString = jp.getText();
if (dateAsString.isEmpty())
return null;
try {
Date date = format.parse(dateAsString);
if (dateAsString.split("-")[0].length() != 4)
throw new RuntimeException();
return date;
} catch (ParseException e) {
throw new RuntimeException(e); //Here is the exception I want to change
}
}
答案 0 :(得分:0)
创建RuntimeException时只需传递消息:
try {
Date date = format.parse(dateAsString);
if (dateAsString.split("-")[0].length() != 4)
throw new RuntimeException("Another custom message");
return date;
} catch (ParseException e) {
throw new RuntimeException("Your custom message", e);
}