У меня есть метод веб-службы, который получает объект.Одним из атрибутов является «интервал», который является целым числом.
Я хотел бы сделать этот атрибут обязательным, но без указания значения по умолчанию - я хочу, чтобы пользователь был обязан явно установить значение.
Если я использую int interval
- атрибут выставляется как int, и если пользователь не устанавливает атрибут явно, будет отправлен ноль (Java по умолчанию для примитива int).
Если я использую Integer interval
- атрибут представлен как Integer и объявлен необязательным в WSDL, поэтому пользователь не может увидеть, что он требуется перед отправкой запроса.
Если я использую Integer interval
с @XmlElement(required = true)
или @XmlElement(nillable = false)
- атрибут представлен как int.
Атрибут может иметь любое целое число - отрицательное, нулевое и положительное, поэтому я не могу использовать значение по умолчанию, чтобы указать, что атрибут не был установлен явно.
Я могу использовать BigInteger interval
с @XmlElement(required = true)
, но мы упускаем преимущества использования типа ядра Integer.
Я хотел бы выставить атрибут как Integer, поэтому я получу ноль, если мыэ-э, атрибут не установлен, и в то же время я хотел бы, чтобы WSDL показал, что атрибут является обязательным, чтобы пользователи знали, что он требуется, просто взглянув на WSDL.