Краткая справка: я создал простой Spring REST API, основанный на простом файле JSON. Я использовал Джексона для разбора JSON. Сам API работает нормально. Например, когда я ввожу необходимый идентификатор, он возвращает нужные поля. У меня проблемы с обработкой исключений. Поэтому, если я, например, ввожу фильмы / 7 (нет mov ie с идентификатором 7), он просто возвращает пустое тело. Какой код мне нужен, чтобы вместо этого выдать исключение? Пожалуйста, найдите код ниже:
MovieService. java
1. @Component
2. public class MovieService {
3.
4. ObjectMapper objectMapper = new ObjectMapper();
5.
6. public Movie findAll() throws IOException {
7.
8. byte[] jsonData = Files.readAllBytes(Paths.get("movies.json"));
9.
10. Movie movie = objectMapper.readValue(jsonData, Movie.class);
11. return movie;
12.
13. }
14.
15. public Movies findMovie(int id) throws IOException {
16.
17. byte[] jsonData = Files.readAllBytes(Paths.get("movies.json"));
18. Movie movie = objectMapper.readValue(jsonData, Movie.class);
19.
20. for (Movies movies : movie.getMovies()) {
21. if (movies.getMovieId() == id) {
22.
23. return movies;
24. }
25. }
26.
27. return null;
28. }
29. }
MovieController. java
1. @RestController
2. public class MovieController {
3.
4. @Autowired
5. private MovieService movieService;
6.
7. @GetMapping
8. @RequestMapping("/movies")
9. public Movies[] getAll() throws IOException {
10.
11. Movies[] response = movieService.findAll().getMovies();
12. return response;
13.
14. }
15.
16. @GetMapping
17. @RequestMapping("/movies/{id}")
18. public Movies getMovie(@PathVariable int id) throws IOException {
19.
20. Movies response = movieService.findMovie(id);
21. return response;
22. }
23. }
Как я уже сказал, код работает абсолютно нормально. Но что, если оператор / try-catch мне нужно реализовать, чтобы получить исключения?