У меня есть нижеуказанный входной класс, и когда я запускаю API без параметра 'Interaction Id' на входе, я ожидаю сообщение об ошибке валидации «Interaction ID не может быть пустым», но проверка проходит, и я думаю, это может быть связано с тем, чтоВзаимодействие по умолчанию имеет значение 0.
Может кто-нибудь, пожалуйста.помогите применить эту проверку к параметру 'long', если он не задан во входных данных?
с параметром @NotEmpty для параметра customerId, он работает, как и ожидалось.Использование @NotEmpty для длинного параметра «interfaceId» вызывает другую ошибку, которую нельзя использовать @notempty для длинного.
public class Input {
@NotEmpty(message = "customerId cannot be empty")
private String customerId;
@Valid
@NotNull(message = "interactionId cannot be empty")
private long interactionId;
// setters and getters
}
мой класс контроллера: @RestController открытый класс Controller {
@PostMapping(value="/detailed-customer-transaction", produces =
MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<Object> detailTransactions(@Valid @RequestBody Input
params)
{
return new ResponseEntity<>(Dao.detailTransactions(params), HttpStatus.OK);
}
Указанные выше проблемы устраняются после замены на Long вместо Long.
Query # 2 Мне нужна другая помощь.У меня есть строковый параметр ввода, который принимает формат даты и времени в следующем формате.Учитывая его строковый параметр, как я могу проверить для образца = "гггг-ММ-дд'Т'ХХ: мм: сс.ССС'Z '"