我有以下用 JAX-RS 注释的类:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Blub {
@XmlElement (required = true)
private String author;
使用 getter/和 setter。我将此对象用作方法的参数:
@Path("/createBlub")
@POST
public ReplyObject createBlub(Blub blub) {
try {
...
//process here
return ReplyObject.success("blub", result);
} catch (Exception e) {
throw new WebApplicationException(e);
}
}
如果在参数 blub 对象中未设置字段作者,我希望 Jersey 抛出异常。然而,泽西岛似乎并不关心所需的属性。我记得它在其他项目中也有效,但看不出有什么区别。
我正在使用球衣 1.12,没有其他任何东西:
<servlet>
<servlet-name>JerseyServletContainerAdmin</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>xxx.yyy.zzz.admin</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.feature.DisableXmlSecurity
</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JerseyServletContainerAdmin</servlet-name>
<url-pattern>/admin/*</url-pattern>
</servlet-mapping>
提前致谢
问候莱昂