/
toster
/
CinemaAPI
Обзор
Документация
Войти
/
toster
/
CinemaAPI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/ru/sber/cinemarest/Controller/FilmController.java
68 строк
2 KB
Test
Add project to repository
17 фев 2025, 16:05
17 фев 2025, 16:05
b78f192
Код
Авторство
О чём код?
package ru.sber.cinemarest.Controller; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import ru.sber.cinemarest.Repository.FilmRepository; import ru.sber.cinemarest.model.Film; import ru.sber.cinemarest.model.Room; import ru.sber.cinemarest.model.Session; import java.util.ArrayList; import java.util.List; import java.util.Optional; @RestController @RequestMapping(path = "/films", produces = "application/json") public class FilmController { FilmRepository repository; public FilmController(FilmRepository repository) { this.repository = repository; } @GetMapping("/{id}") public ResponseEntity<Film> getFilm(@PathVariable long id){ Optional<Film> film = repository.findById(id); if (film.isPresent()) { return new ResponseEntity<>(film.get(), HttpStatus.OK); } else { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } } @GetMapping("/") public List<Film> getFilms(){ List<Film> films = new ArrayList<>(); for (Film film : repository.findAll()) { films.add(film); } return films; } @PostMapping("/add") public Film addFilm(@RequestBody Film film){ return repository.save(film); } @DeleteMapping("/{id}") public HttpStatus deleteFilm(@PathVariable long id){ Optional<Film> film = repository.findById(id); if (film.isPresent()) { repository.deleteById(id); return HttpStatus.OK; } return HttpStatus.NOT_FOUND; } @PutMapping("/{id}") public Film editFilm(@RequestBody Film film, @PathVariable long id){ film.setId(id); return repository.save(film); } @GetMapping("/{id}/sessions/") public ResponseEntity<List<Session>> getSessions(@PathVariable long id){ Optional<Film> film = repository.findById(id); if (film.isPresent()) { return new ResponseEntity<>(film.get().getSessions(), HttpStatus.OK); } return new ResponseEntity<>(HttpStatus.NOT_FOUND); } }