Проверка компонента при загрузке Spring

#spring #spring-boot #spring-mvc #spring-data-jpa #spring-data

#весна #весенняя загрузка #spring-mvc #spring-data-jpa #spring-данные

Вопрос:

Есть ли способ в Spring boot проверить свойства в компоненте? Например, рассмотрим компонент Employee, состоящий из следующих свойств —

  1. идентификатор — должен начинаться с 01,02,22
  2. Отдел — должен быть любым из одного — D1, D2, D3
  3. Имя — не должно содержать цифр и иметь максимальную длину 10 символов.

У меня может быть отдельный метод и проверять компонент каждый раз, но я ищу лучший способ реализовать это с помощью spring boot.

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

1. Взгляните на проверки JSR 380.

2. создайте свое пользовательское правило проверки, docs.jboss.org/hibernate/validator/5.1/reference/en-US/html /…

3. Вы можете выполнить проверку в своей службе, чтобы проверить, готов ли сотрудник к сохранению или нет

Ответ №1:

Вы могли бы использовать проверку Spring boot для проверки ваших шаблонов. Добавьте эту зависимость в реализацию вашего файла gradle (‘org.springframework.boot:spring-boot-starter-validation’)https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation проверьте последнюю версию

 class Employee {

  @Pattern(regexp = "^(01|02|22). $")
  private String id;

  @Size(max = 10)
  @Pattern(regexp = "^[^0-9] $")
  private String name;

  @Pattern(regexp = "^D[1-3]$")
  private String department;
  
}
  

И в вашем запросе

 @RestController
class EmployeeRequest {

  @PostMapping("/registerEmployee")
  ResponseEntity<String> registerEmployee(@Valid @RequestBody Employee employee) {
    return ResponseEntity.ok("valid");
  }
}
  

Примечание: Я не уверен в синтаксисе регулярного выражения, но вы должны определить свое регулярное выражение для своих бизнес-требований.