Я ищу поле для проверки запроса веб-службы, разрешив только одно из двух полей запроса. Я знаю, что из прошлого опыта, с помощью XSD, что вы можете иметь что-то вроде этого, чтобы только либо FieldOne или FieldTwo:Есть ли «выбор» Java-аннотация, эквивалентная <xs:choice>?
<xs:complexType name="SomeType">
<xs:choice>
<xs:element name="FieldOne" type="target:FieldOneType"/>
<xs:element name="FieldTwo" type="target:FieldTwoType"/>
</xs:choice>
</xs:complexType>
Я хотел бы сделать то же самое с помощью Java аннотаций. В настоящее время я использую аннотации для ограничения длины поля (@Digits) и нулевых проверок (@NotNull).
Есть ли что-то, что я могу использовать для «выбора»?
Спасибо за любую помощь.
UPDATE: В основном я ищу способ, которым можно ввести только одно из двух полей в запрос веб-службы без необходимости выполнять эту проверку в моем коде вручную. Я в настоящее время использую bean validation annotations ограничить длину поля и определить, является ли поле обязательным или необязательным, например:
@NotNull(message="Field cannot be empty")
@Size(max = 6, message = "Field length is too long")
private String fieldOne;
Я хотел бы быть в состоянии сказать, что пользователь может ввести только либо fieldOne или fieldTwo, но не оба. Возможно ли это с помощью аннотаций или я придерживаюсь написания этой проверки в моем коде?
Вы имеете в виду, что в вашем классе есть 2 поля ('fieldOne' и' fieldTwo'), но только один из них позволяет иметь значение? – Wilson
Да, это то, чего я хочу. – colmulhall
Я обновил ответ. Посмотрите, может ли он помочь – Wilson