lou*_*ros 7 spring jackson java-8 auto-value
我有以下EventDTO课程:
@AutoValue
@JsonDeserialize(builder = AutoValue_Event.Builder.class)
@JsonIgnoreProperties(ignoreUnknown = true)
public abstract class Event {
public static Event.Builder builder() {
return new AutoValue_Event.Builder();
}
public abstract UUID id();
@NotNull
public abstract Type type();
@NotNull
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
public abstract LocalDate date();
@AutoValue.Builder
public abstract static class Builder {
@JsonProperty("id")
public abstract Builder id(UUID id);
@JsonProperty("type")
public abstract Builder type(Type type);
@JsonProperty("date")
public abstract Builder date(LocalDate date);
}
}
Run Code Online (Sandbox Code Playgroud)
验证适用于type和date属性,并且JsonMappingException当有效负载不正确时,杰克逊会按预期抛出.不幸的是,返回的错误消息text/plain如下:
JsonMappingException: Can not construct instance of project.dto.AutoValue_Event$Builder, problem: Missing required properties: type.
有没有办法处理这些验证错误并返回一个显式的json错误对象?
我发现这篇文章 捕获异常并返回一个显式的json,但是我无法在反序列化失败的字段上映射自定义错误消息(我不想解析消息异常以了解哪个字段不正确).任何的想法?
| 归档时间: |
|
| 查看次数: |
667 次 |
| 最近记录: |