nillable = false @XmlElement无论如何都接受null

时间:2018-11-05 12:51:24

标签: java web-services

尽管我已经用@XmlElementnillable = 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并获得成功的响应?我想念什么吗?

0 个答案:

没有答案