【发布时间】:2016-09-20 05:48:46
【问题描述】:
我有一个使用 jersey 的休息端点,我将有效负载“丢弃”到具有 ENUM 类型字段的 DTO 中。
public enum AdminStatus {
ACTIVE, NONACTIVE;
}
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class AdminUpdateDTO {
@XmlElement(nillable = false, required = true)
private AdminStatus status;
public AdminStatus getStatus() {
return status;
}
public void setStatus(AdminStatus status) {
this.status = status;
}
@Override
public String toString() {
return "[status=" + this.getStatus() + "]";
}
}
当我给这个字段一个与现有 ENUM 值不匹配的值并发出请求时,我得到这个:
无法从字符串值“ACTIVEE”构造 com.utility.AdminStatus 的实例: 值不是声明的枚举实例名称之一:[NONACTIVE, ACTIVE]
在 [来源:org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream@2848cd9d;行:1,列:328](通过引用链:com.dto.AdminUpdateDTO["status"])
Jersey 是否有能力以某种方式处理此问题,我的意思是,我不想将此作为响应,而是一些自定义错误响应。
【问题讨论】:
标签: json jersey jackson jax-rs jersey-2.0