Реализованны Модели данных и REST-контроллеры#2
Conversation
avfyodorov
left a comment
There was a problem hiding this comment.
Добрый день, Максим!
Очень хорошая работа, от меня всего пара небольших уточнений.
| import java.time.LocalDate; | ||
|
|
||
| @Data | ||
| public class Film { |
There was a problem hiding this comment.
Необязательно, на Ваше усмотрение. Для этих полей можно было бы добавить ограничительные аннотации, например:
public class Film
...
@NotBlank
private String name;
@Size(min = 1, max = 200)
private String description;
@NotNull
private LocalDate releaseDate;
@Min(1)
private long duration; // minutesТогда можно будет избавиться от части ручных проверок.
| } | ||
|
|
||
| @PostMapping | ||
| public Film addFilm(@RequestBody Film film) { |
There was a problem hiding this comment.
Можно добавить аннотацию @Valid, чтобы возложить на Spring проверку входного объекта.
public Film addFilm(@Valid @RequestBody Film film) {
На усмотрение.
Валидация данных в Spring Boot
https://struchkov.dev/blog/ru/spring-boot-validation/
.---------------------------
Проверка данных — Java & Spring Validation
https://habr.com/ru/post/424819/
| import java.time.LocalDate; | ||
|
|
||
| @Data | ||
| public class User { |
There was a problem hiding this comment.
Необязательно, на Ваше усмотрение.
Здесь такая же ситуация, что и c классом фильм - Можно добавить ограничительные аннотации на поля класса. Тогда часть проверок будет выполняться средствами Spring в методе контроллера.
public class User {
@NotBlank
@Email
private String email;
@NotBlank
private String login;
............| @Data | ||
| public class User { | ||
| private Long id; | ||
| private String email; |
There was a problem hiding this comment.
Обратите внимание, что для автоматической проверки нужны не только аннотации над полями класса, но и добавить аннотацию @Valid в соответствующих методах контроллера User
public User create(@Valid @RequestBody final User user) {
avfyodorov
left a comment
There was a problem hiding this comment.
Добрый день, Максим!
Замечаний нет.
Работа принята.
No description provided.