custom request
This commit is contained in:
@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import ru.ip.example.domain.AddSeazonDto;
|
||||
import ru.ip.example.domain.FilmDto;
|
||||
@@ -24,6 +25,12 @@ public class FilmController {
|
||||
|
||||
private final FilmService filmService;
|
||||
|
||||
@GetMapping("/films/filter")
|
||||
@Operation(description = "Ищет фильм по названию")
|
||||
public FilmDto getFilmByTitle(@RequestParam(name = "title") String title) {
|
||||
return filmService.findFilmByTitle(title);
|
||||
}
|
||||
|
||||
@GetMapping("/films")
|
||||
@Operation(description = "Возвращает список всех фильмов")
|
||||
public List<FilmDto> getAll() {
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
package ru.ip.example.repository;
|
||||
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import ru.ip.example.domain.entity.FilmEntity;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public interface FilmRepository extends CrudRepository<FilmEntity, Integer> {
|
||||
|
||||
@Query(value = "SELECT * FROM film f WHERE f.title = :title", nativeQuery = true)
|
||||
Optional<FilmEntity> findFilmByTitle(@Param("title") String title);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@ import java.util.List;
|
||||
|
||||
public interface FilmService {
|
||||
|
||||
FilmDto findFilmByTitle(String title);
|
||||
|
||||
FilmDto saveFilm(FilmDto dto);
|
||||
|
||||
FilmDto updateFilm(Integer id, FilmDto dto);
|
||||
|
||||
@@ -15,6 +15,7 @@ import ru.ip.example.service.FilmService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@@ -26,6 +27,13 @@ public class FilmServiceImpl implements FilmService {
|
||||
|
||||
private final SeazonRepository seazonRepository;
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
@Override
|
||||
public FilmDto findFilmByTitle(String title) {
|
||||
FilmEntity filmByTitle = filmRepository.findFilmByTitle(title).orElseThrow();
|
||||
return filmMapper.toDto(filmByTitle);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public FilmDto saveFilm(FilmDto dto) {
|
||||
|
||||
Reference in New Issue
Block a user