Skip to content

Commit ebb1e36

Browse files
committed
ТЗ 11 исправлены замечания ревьювера
1 parent fb21283 commit ebb1e36

6 files changed

Lines changed: 41 additions & 22 deletions

File tree

src/main/java/ru/yandex/practicum/filmorate/controller/FilmController.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,25 @@
11
package ru.yandex.practicum.filmorate.controller;
22

33
import jakarta.validation.Valid;
4+
import jakarta.validation.constraints.Positive;
45
import org.slf4j.Logger;
56
import org.slf4j.LoggerFactory;
67
import org.springframework.beans.factory.annotation.Autowired;
78
import org.springframework.http.HttpStatus;
9+
import org.springframework.validation.annotation.Validated;
810
import org.springframework.web.bind.annotation.*;
911
import ru.yandex.practicum.filmorate.model.Film;
1012
import ru.yandex.practicum.filmorate.service.FilmService;
1113

1214
import java.util.Collection;
1315

16+
@Validated
1417
@RestController
1518
@RequestMapping("/films")
1619
public class FilmController {
1720

1821
private final Logger logger = LoggerFactory.getLogger(FilmController.class);
19-
FilmService filmService;
22+
private final FilmService filmService;
2023

2124
@Autowired
2225
public FilmController(FilmService filmService) {
@@ -25,8 +28,9 @@ public FilmController(FilmService filmService) {
2528

2629
@GetMapping("/{id}")
2730
@ResponseStatus(HttpStatus.OK)
28-
public Film getFilmId(@PathVariable long id) {
29-
logger.info("вывод пользователя по ID");
31+
32+
public Film getFilmId(@Positive(message = "неверное значение") @PathVariable long id) {
33+
logger.info("вывод фильма по ID");
3034
return filmService.getFilmId(id);
3135
}
3236

@@ -46,7 +50,7 @@ public Film create(@Valid @RequestBody Film film) {
4650

4751
@DeleteMapping("/{id}")
4852
@ResponseStatus(HttpStatus.OK)
49-
public void delete(@PathVariable long id) {
53+
public void delete(@Positive(message = "неверное значение") @PathVariable long id) {
5054
logger.info("Удаление id=" + id);
5155
filmService.delete(id);
5256
}
@@ -60,19 +64,21 @@ public Film update(@RequestBody Film newFilm) {
6064

6165
@PutMapping("/{id}/like/{userId}")
6266
@ResponseStatus(HttpStatus.OK)
63-
public Collection<Long> likeAdd(@PathVariable long id, @PathVariable long userId) {
67+
public Collection<Long> likeAdd(@Positive(message = "неверное значение") @PathVariable long id,
68+
@Positive(message = "неверное значение") @PathVariable long userId) {
6469
return filmService.likeAdd(id, userId);
6570
}
6671

6772
@DeleteMapping("/{id}/like/{userId}")
6873
@ResponseStatus(HttpStatus.OK)
69-
public Collection<Long> likeDelete(@PathVariable long id, @PathVariable long userId) {
74+
public Collection<Long> likeDelete(@Positive(message = "неверное значение") @PathVariable long id,
75+
@Positive(message = "неверное значение") @PathVariable long userId) {
7076
return filmService.likeDelete(id, userId);
7177
}
7278

7379
@GetMapping("/popular")
7480
@ResponseStatus(HttpStatus.OK)
75-
public Collection<Film> getPopular(@RequestParam(defaultValue = "10") int count) {
81+
public Collection<Film> getPopular(@Positive(message = "неверное значение") @RequestParam(defaultValue = "10") int count) {
7682
return filmService.getPopular(count);
7783
}
7884
}

src/main/java/ru/yandex/practicum/filmorate/controller/UserController.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,19 @@
22

33
import jakarta.validation.Valid;
44

5+
import jakarta.validation.constraints.Positive;
56
import org.slf4j.Logger;
67
import org.slf4j.LoggerFactory;
78
import org.springframework.beans.factory.annotation.Autowired;
89
import org.springframework.http.HttpStatus;
10+
import org.springframework.validation.annotation.Validated;
911
import org.springframework.web.bind.annotation.*;
1012
import ru.yandex.practicum.filmorate.model.User;
1113
import ru.yandex.practicum.filmorate.service.UserService;
1214

1315
import java.util.Collection;
1416

17+
@Validated
1518
@RestController
1619
@RequestMapping("/users")
1720
public class UserController {
@@ -27,7 +30,7 @@ public UserController(UserService userService) {
2730

2831
@GetMapping("/{id}")
2932
@ResponseStatus(HttpStatus.OK)
30-
public User getUserId(@PathVariable long id) {
33+
public User getUserId(@Positive(message = "неверное значение") @PathVariable long id) {
3134
logger.info("вывод пользователя по ID");
3235
return userService.getUserId(id);
3336
}
@@ -48,7 +51,7 @@ public User create(@Valid @RequestBody User user) {
4851

4952
@DeleteMapping("/{id}")
5053
@ResponseStatus(HttpStatus.OK)
51-
public void delete(@PathVariable long id) {
54+
public void delete(@Positive(message = "неверное значение") @PathVariable long id) {
5255
logger.info("Удаление id=" + id);
5356
userService.delete(id);
5457
}
@@ -62,28 +65,31 @@ public User update(@RequestBody User newUser) {
6265

6366
@PutMapping("/{id}/friends/{friendsId}")
6467
@ResponseStatus(HttpStatus.OK)
65-
public Collection<Long> friendsAdd(@PathVariable long id, @PathVariable long friendsId) {
68+
public Collection<Long> friendsAdd(@Positive(message = "неверное значение") @PathVariable long id,
69+
@Positive(message = "неверное значение") @PathVariable long friendsId) {
6670
logger.info("добавили в друзья");
6771
return userService.friendsAdd(id, friendsId);
6872
}
6973

7074
@DeleteMapping("/{id}/friends/{friendsId}")
7175
@ResponseStatus(HttpStatus.OK)
72-
public Collection<Long> friendsDelete(@PathVariable long id, @PathVariable long friendsId) {
76+
public Collection<Long> friendsDelete(@Positive(message = "неверное значение") @PathVariable long id,
77+
@Positive(message = "неверное значение") @PathVariable long friendsId) {
7378
logger.info("удалили из друзей");
7479
return userService.friendsDelete(id, friendsId);
7580
}
7681

7782
@GetMapping("/{id}/friends")
7883
@ResponseStatus(HttpStatus.OK)
79-
public Collection<User> friendsGetList(@PathVariable long id) {
84+
public Collection<User> friendsGetList(@Positive(message = "неверное значение") @PathVariable long id) {
8085
logger.info("показывает список друзей");
8186
return userService.friendsGetList(id);
8287
}
8388

8489
@GetMapping("/{id}/friends/common/{otherId}")
8590
@ResponseStatus(HttpStatus.OK)
86-
public Collection<User> friendsGetCommonList(@PathVariable long id, @PathVariable long otherId) {
91+
public Collection<User> friendsGetCommonList(@Positive(message = "неверное значение") @PathVariable long id,
92+
@Positive(message = "неверное значение") @PathVariable long otherId) {
8793
logger.info("показывает список друзей");
8894
return userService.friendsGetCommonList(id, otherId);
8995
}

src/main/java/ru/yandex/practicum/filmorate/storage/InMemoryFilmStorage.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package ru.yandex.practicum.filmorate.storage;
22

3-
import org.springframework.stereotype.Component;
3+
import org.springframework.stereotype.Repository;
44
import ru.yandex.practicum.filmorate.model.Film;
55

66
import java.util.Collection;
77
import java.util.HashSet;
88
import java.util.Set;
99

10-
@Component
10+
@Repository
1111
public class InMemoryFilmStorage extends Storage<Film> implements FilmStorage<Film> {
1212

13-
13+
@Override
1414
public Film create(Film film) {
1515
film.setId(getNextId());
1616
if (film.getLikesId() == null) {
@@ -22,6 +22,7 @@ public Film create(Film film) {
2222
return film;
2323
}
2424

25+
@Override
2526
public Film update(Film newFilm) {
2627
Film oldFilm = dataMap.get(newFilm.getId());
2728
oldFilm.setName(newFilm.getName());
@@ -38,17 +39,20 @@ public Film update(Film newFilm) {
3839
return oldFilm;
3940
}
4041

42+
@Override
4143
public Collection<Long> getLikeId(long id) {
4244
Film getLikes = dataMap.get(id);
4345
return getLikes.getLikesId();
4446
}
4547

48+
@Override
4649
public Collection<Long> setLikeId(long id, long userId) {
4750
Film getLikes = dataMap.get(id);
4851
getLikes.getLikesId().add(userId);
4952
return getLikes.getLikesId();
5053
}
5154

55+
@Override
5256
public Collection<Long> delLikesId(long id, long userId) {
5357
Film getLikes = dataMap.get(id);
5458
Set<Long> newLikesList = getLikes.getLikesId();

src/main/java/ru/yandex/practicum/filmorate/storage/InMemoryUserStorage.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package ru.yandex.practicum.filmorate.storage;
22

3-
import org.springframework.stereotype.Component;
3+
import org.springframework.stereotype.Repository;
44
import ru.yandex.practicum.filmorate.model.User;
55

66
import java.util.*;
77

8-
@Component
8+
@Repository
99
public class InMemoryUserStorage extends Storage<User> implements UserStorage<User> {
1010

11-
11+
@Override
1212
public User create(User user) {
1313
user.setId(getNextId());
1414
if (user.getFriendsId() == null) {
@@ -20,7 +20,7 @@ public User create(User user) {
2020
return user;
2121
}
2222

23-
23+
@Override
2424
public User update(User newUser) {
2525
User oldUser = dataMap.get(newUser.getId());
2626
oldUser.setName(newUser.getName());
@@ -32,11 +32,13 @@ public User update(User newUser) {
3232
return oldUser;
3333
}
3434

35+
@Override
3536
public Collection<Long> getFriendId(long id) {
3637
User getFriends = dataMap.get(id);
3738
return getFriends.getFriendsId();
3839
}
3940

41+
@Override
4042
public Collection<Long> setFriendId(long id, long friendsId) {
4143
User getFriends = dataMap.get(id); //добавление в друзья
4244
Set<Long> newFriendsList = getFriends.getFriendsId();
@@ -50,6 +52,7 @@ public Collection<Long> setFriendId(long id, long friendsId) {
5052
return newFriendsList;
5153
}
5254

55+
@Override
5356
public Collection<Long> delFriendId(long id, long friendsId) {
5457
User getFriends = dataMap.get(id); //удаление из друзей
5558
Set<Long> newFriendsList = getFriends.getFriendsId();

src/test/java/ru/yandex/practicum/filmorate/FilmControllerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class FilmControllerTest {
1717

1818
Exception exception;
1919
private final ValidateController validate = new ValidateController();
20-
Film film;
20+
private Film film;
2121
Set<Long> testList = new HashSet<>() {
2222
};
2323

src/test/java/ru/yandex/practicum/filmorate/UserControllerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class UserControllerTest {
1717

1818
Exception exception;
1919
private final ValidateController validate = new ValidateController();
20-
User user;
20+
private User user;
2121
Set<Long> testList = new HashSet<>() {
2222
};
2323

0 commit comments

Comments
 (0)