Приведенный ниже код поможет вам выполнить проверку на стороне сервера.
Класс Pojo:
public class Data {
@NotNull
private final String someStringValue;
@Min(1)
private final int someIntValue;
@JsonCreator
public Data(@JsonProperty("someStringValue") String someStringValue, @JsonProperty("someIntValue") int someIntValue) {
this.someStringValue = someStringValue;
this.someIntValue = someIntValue;
}
public String getSomeStringValue() {
return someStringValue;
}
public int getSomeIntValue() {
return someIntValue;
}
Для проверки нам нужен собственный класс, содержащий логику:
@Component
public class StringValueValidator {
public void validate(String language, Data data, Errors errors) {
if (!"de-DE".equals(language)) {
if (data.getSomeStringValue().length() > 140) {
errors.reject("someStringValue");
}
}
}
}
метод управления:
@RequestMapping(value = "/validation", method = RequestMethod.POST)
public ResponseEntity<?> acceptData(@Valid @RequestBody Data data, Errors errors,
@RequestHeader(HttpHeaders.ACCEPT_LANGUAGE) String language) {
stringValueValidator.validate(language, data, errors);
if (errors.hasErrors()) {
return new ResponseEntity<>(createErrorString(errors), HttpStatus.BAD_REQUEST);
}
return new ResponseEntity<>(HttpStatus.OK);
}
См. Это: https://blog.codecentric.de/en/2017/11/dynamic-validation-spring-boot-validation/