Проверка DTO с двумя объектами - PullRequest
0 голосов
/ 13 января 2019

У меня есть DTO с двумя сущностями. Как я могу проверить эти объекты? Какую аннотацию я должен использовать? Я использую остальные API, JSON, Spring Boot. Я знаю, как проверить одну сущность. Но я не знаю, что делать с DTO.

@PostMapping
public ResponseEntity<?> create(@Valid @RequestBody DTOClient client) {
       ....

        return responseEntity;
    }

public class DTOClient{

//What I should use here to validate these entities?
    private Client client;
    private Skill skill;

}

@Entity
public class Client{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    private String first_name;

    private String last_name;
}

@Entity
public class Skill{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    private String name;

    private int year;
}

1 Ответ

0 голосов
/ 13 января 2019

Используйте javax.validation для полей, которые вы хотите проверить. Ниже приведен пример проверки first_name в client объект не должен быть нулевым или пустым.

@PostMapping
public ResponseEntity<?> create(@Valid @RequestBody DTOClient client) {
       ....

        return responseEntity;
    }

public class DTOClient{

//What I should use here to validate these entities?
    @Valid
    @NotNull(message="client should not null")
    private Client client;
    private Skill skill;

}

@Entity
public class Client{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    @NotBlank(message="first name of client should not be null or blank")
    private String first_name;

    private String last_name;
}

@Entity
public class Skill{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    private String name;

    private int year;
}

Короче говоря, вам нужно использовать @Valid для Бина, как параметры методов контроллера и поля, которые не являются первичными. И аннотации ограничений для полей, которые необходимо проверить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...