Ограничить длину ввода с помощью аннотации в Java POJO
У меня есть класс POJO, как показано ниже,
@XmlRootElement
public class JsonReply {
@XmlElement(nillable = false)
String callResult;
@XmlElement(nillable=false)
String returnobj;
@NotNull
String callError;
public String getCallResult() {
return callResult;
}
public void setCallResult(String callResult) {
this.callResult = callResult;
}
public String getCallError() {
return callError;
}
public void setCallError(String callError) {
this.callError = callError;
}
Чтобы избежать пустой строки, я использую много аннотаций, таких как @NotNull от Lombok и @XmlElement из javax.xml.bind.annotation.XmlRootElement (nillable=false). И мой вопрос заключается в том, что есть ли другой способ или аннотация, чтобы ограничить длину для Integer или String, как min=5 и max=10.
@Size(max=10)
@Max(5)
Integer sampleint;
Я использую Джексона. если в самом Джексоне есть какая-либо аннотация, такая как @JsonIgnoreProperties, тогда очень хорошо.
Спасибо!
1 ответ
Проверка бобов
Вы могли бы рассмотреть Валидацию Бина. Он основан на аннотациях и интегрируется с широким спектром фреймворков. Эталонная реализация - http://hibernate.org/validator/.
Вот некоторые основные моменты, которые могут быть полезны для вас:
За
String
Проверка, готовая аннотация, которая может вас заинтересовать,@Size
,Для проверки номера, рассмотрим
@Min
,@Max
,@DecimalMin
,@DecimalMax
а также@Digits
,использование
@NotNull
не приниматьnull
ценности.
Для более подробной информации, проверьте javax.validation.constraints
пакет.
Проверка бобов и Джерси 2.x
Поддержка Bean Validation в Jersey 2.x предоставляется в качестве модуля расширения и должна быть явно указана в вашем pom.xml
файл (в случае использования Maven):
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-bean-validation</artifactId>
<version>2.23.2</version>
</dependency>
Если вы не используете Maven, убедитесь, что у вас также есть все переходные зависимости (см. jersey-bean-validation
артефакт) на пути к классам. Этот модуль напрямую зависит от Hibernate Validator, который предоставляет наиболее часто используемую реализацию спецификации Bean Validation.
В Джерси модуль Bean Validation представляет собой автоматически обнаруживаемые функции, то есть это один из модулей, где вам не нужно явно регистрировать его. Feature
с (ValidationFeature
) на сервере, так как его функции автоматически обнаруживаются и регистрируются при добавлении jersey-bean-validation
модуль для вашего classpath.
Для получения более подробной информации, ознакомьтесь с документацией Джерси о поддержке Bean Validation.