Когда я проверяю сущность формата JSON в теле запроса, числовое поле появляется как строка числа, доступного для Integer, принимается как действительный.Но я хочу проверить, что он содержит только число, и отклонить любую строку, может быть проанализирована или нет.
Но я думаю, что проверка JSR 303 не различает числа или числа в строке.
Например, она должнабыть:
{
"quantity": 1,
...
}
, но когда это:
{
"quantity": "1",
...
}
ошибка не обнаружена.
Проверка выполняется следующим образом:
@NotNull(message = "order item quantity is required")
@Digits(integer = Integer.MAX_VALUE, fraction = 0) // only integer
@PositiveOrZero
@ApiModelProperty(value = "Order Item quantity", required = true) // for Swagger UI
@JsonProperty("quantity")
private Integer quantity;
Обратите внимание, что @Pattern
применяется только к последовательностям символов.