尽管我已经用@XmlElement
和nillable = false
定义了required = true
,但是Web服务似乎仍然为该给定元素接受空值。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "CompanyPreference")
public class CompanyPreference {
public CompanyPreference() {
super();
}
@XmlElement(nillable = false, required = true)
private String preferenceName;
@XmlElement(nillable = false, required = true)
private String preferenceType;
.
.
.
然后在我的Web服务中
@POST
@SecureIt
@Consumes(value = { MediaType.APPLICATION_JSON })
@Produces(value = { MediaType.APPLICATION_JSON })
@Path("/preferences")
@ApiOperation(value = "Update Company Preferences", response = DefaultResponse.class, authorizations = { @Authorization(value="Bearer") })
public Response savePreferences(CompanyPreference[] companyPreferences, //This is the array
@Context ContainerRequestContext crc) throws ResponseError {
我要传递的首选项数组
[
{
"preferenceName": null,
"preferenceType": null
}
]
为什么我仍然可以在对象中传递null并获得成功的响应?我想念什么吗?