Проверка того,что если поле в целочисленном, длинном и двойном значении при проверке компонентов java

#java #spring #spring-boot

Вопрос:

В моем приложении для весенней загрузки. Я проверяю параметры входного запроса. Я следую приведенному ниже руководству и провожу проверку на уровне модели компонентов. https://reflectoring.io/bean-validation-with-spring-boot/

Для Long какова допустимая аннотация, которая проверяет, имеет ли поле ввода тип long?Или я могу использовать любой шаблон регулярного выражения, если так, может ли кто-нибудь помочь мне с допустимым регулярным выражением для длинного значения.

Для двойного значения какова допустимая аннотация, которая проверяет, имеет ли поле ввода двойной тип?Или я могу использовать любой шаблон регулярного выражения, если так, может ли кто-нибудь помочь мне с допустимым регулярным выражением для двойного значения.Я не хочу использовать BigDecimal, так как это может нарушить уже существующий код.

Комментарии:

1. A Long имеет тип Long и может быть преобразован с long помощью longValue() метода. Что вы хотите подтвердить? Я имею в виду, что если параметры запроса не могут быть преобразованы Long , они не могут быть назначены Long полю. Вы получите ошибку преобразования.

2. Из запроса, если я отправлю { «long_fieldname»:»»}, то он должен отправить ответ об ошибке, в котором тип поля недопустим, должно быть двойное значение. Короче говоря, проверьте, имеет ли поле тип double или нет

3. Этот вид проверки встроен, потому что Java строго типизирована. Если вы передаете строку в своем json, и она не вызывает исключения проверки, значит, в механизме проверки что-то не работает. Не могли бы вы, пожалуйста, добавить какой-нибудь код, чтобы мы могли лучше вам помочь?

4. Я не добавил никакого механизма проверки для двойного типа и длинного типа…для строковых типов я получаю ожидаемый ответ на ошибку, я мог бы добавить проверки для строковых типов, как показано ниже @NotBlank(сообщение = «поле выборки не может быть пустым») частное поле выборки строк ; но для длинных и двойных не удалось найти правильные валидаторы. @Столбец(имя = «длинное поле») частное длинное поле; @Столбец(имя = «двойное поле») частное двойное поле;