get requests
This commit is contained in:
@@ -3,6 +3,7 @@ package ru.ip.example.controller;
|
|||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
@@ -12,6 +13,8 @@ import ru.ip.example.domain.AddSeriesDto;
|
|||||||
import ru.ip.example.domain.SeazonDto;
|
import ru.ip.example.domain.SeazonDto;
|
||||||
import ru.ip.example.service.SeazonService;
|
import ru.ip.example.service.SeazonService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Tag(name = "SeazonsAPI", description = "Контроллер для управления сезонами")
|
@Tag(name = "SeazonsAPI", description = "Контроллер для управления сезонами")
|
||||||
@@ -19,6 +22,16 @@ public class SeazonController {
|
|||||||
|
|
||||||
private final SeazonService seazonService;
|
private final SeazonService seazonService;
|
||||||
|
|
||||||
|
@GetMapping("/seazons")
|
||||||
|
public List<SeazonDto> getSeazons() {
|
||||||
|
return seazonService.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/seazons/{id}")
|
||||||
|
public SeazonDto getSeazon(@PathVariable("id") Integer id) {
|
||||||
|
return seazonService.findById(id);
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/seazons")
|
@PostMapping("/seazons")
|
||||||
public SeazonDto save(@RequestBody SeazonDto dto) {
|
public SeazonDto save(@RequestBody SeazonDto dto) {
|
||||||
return seazonService.save(dto);
|
return seazonService.save(dto);
|
||||||
|
|||||||
@@ -3,14 +3,18 @@ package ru.ip.example.controller;
|
|||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import ru.ip.example.domain.SeazonDto;
|
||||||
import ru.ip.example.domain.SeriesDto;
|
import ru.ip.example.domain.SeriesDto;
|
||||||
import ru.ip.example.service.SeriesService;
|
import ru.ip.example.service.SeriesService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Tag(name = "SeriesAPI", description = "API для работы с сериями")
|
@Tag(name = "SeriesAPI", description = "API для работы с сериями")
|
||||||
@@ -18,6 +22,16 @@ public class SeriesController {
|
|||||||
|
|
||||||
private final SeriesService seriesService;
|
private final SeriesService seriesService;
|
||||||
|
|
||||||
|
@GetMapping("/series")
|
||||||
|
public List<SeriesDto> getSeries() {
|
||||||
|
return seriesService.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/series/{id}")
|
||||||
|
public SeriesDto getSeries(@PathVariable("id") Integer id) {
|
||||||
|
return seriesService.findById(id);
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/series")
|
@PostMapping("/series")
|
||||||
public SeriesDto save(@RequestBody SeriesDto dto) {
|
public SeriesDto save(@RequestBody SeriesDto dto) {
|
||||||
return seriesService.save(dto);
|
return seriesService.save(dto);
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import java.util.List;
|
|||||||
|
|
||||||
public interface SeazonRepository {
|
public interface SeazonRepository {
|
||||||
|
|
||||||
|
List<SeazonEntity> findAll();
|
||||||
|
|
||||||
SeazonEntity findById(Integer id);
|
SeazonEntity findById(Integer id);
|
||||||
|
|
||||||
SeazonEntity save(SeazonEntity entity);
|
SeazonEntity save(SeazonEntity entity);
|
||||||
|
|||||||
@@ -2,8 +2,12 @@ package ru.ip.example.repository;
|
|||||||
|
|
||||||
import ru.ip.example.domain.entity.SeriesEntity;
|
import ru.ip.example.domain.entity.SeriesEntity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface SeriesRepository {
|
public interface SeriesRepository {
|
||||||
|
|
||||||
|
List<SeriesEntity> findAll();
|
||||||
|
|
||||||
SeriesEntity findById(int id);
|
SeriesEntity findById(int id);
|
||||||
|
|
||||||
SeriesEntity save(SeriesEntity entity);
|
SeriesEntity save(SeriesEntity entity);
|
||||||
|
|||||||
@@ -14,6 +14,11 @@ public class SeazonRepositoryDao implements SeazonRepository {
|
|||||||
|
|
||||||
public static List<SeazonEntity> seazons = new ArrayList<>();
|
public static List<SeazonEntity> seazons = new ArrayList<>();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SeazonEntity> findAll() {
|
||||||
|
return seazons;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SeazonEntity findById(Integer id) {
|
public SeazonEntity findById(Integer id) {
|
||||||
SeazonEntity seazonEntity = new SeazonEntity();
|
SeazonEntity seazonEntity = new SeazonEntity();
|
||||||
|
|||||||
@@ -14,6 +14,11 @@ public class SerialRepositoryDao implements SeriesRepository {
|
|||||||
|
|
||||||
private static Integer SERIES_SEQ = 0;
|
private static Integer SERIES_SEQ = 0;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SeriesEntity> findAll() {
|
||||||
|
return series;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SeriesEntity findById(int id) {
|
public SeriesEntity findById(int id) {
|
||||||
SeriesEntity seriesEntity = new SeriesEntity();
|
SeriesEntity seriesEntity = new SeriesEntity();
|
||||||
|
|||||||
@@ -3,8 +3,14 @@ package ru.ip.example.service;
|
|||||||
import ru.ip.example.domain.AddSeriesDto;
|
import ru.ip.example.domain.AddSeriesDto;
|
||||||
import ru.ip.example.domain.SeazonDto;
|
import ru.ip.example.domain.SeazonDto;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface SeazonService {
|
public interface SeazonService {
|
||||||
|
|
||||||
|
List<SeazonDto> findAll();
|
||||||
|
|
||||||
|
SeazonDto findById(Integer id);
|
||||||
|
|
||||||
SeazonDto save(SeazonDto dto);
|
SeazonDto save(SeazonDto dto);
|
||||||
|
|
||||||
SeazonDto update(Integer id, SeazonDto dto);
|
SeazonDto update(Integer id, SeazonDto dto);
|
||||||
|
|||||||
@@ -2,8 +2,14 @@ package ru.ip.example.service;
|
|||||||
|
|
||||||
import ru.ip.example.domain.SeriesDto;
|
import ru.ip.example.domain.SeriesDto;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface SeriesService {
|
public interface SeriesService {
|
||||||
|
|
||||||
|
List<SeriesDto> findAll();
|
||||||
|
|
||||||
|
SeriesDto findById(Integer id);
|
||||||
|
|
||||||
SeriesDto save(SeriesDto dto);
|
SeriesDto save(SeriesDto dto);
|
||||||
|
|
||||||
SeriesDto update(Integer id, SeriesDto dto);
|
SeriesDto update(Integer id, SeriesDto dto);
|
||||||
|
|||||||
@@ -65,10 +65,9 @@ public class FilmServiceImpl implements FilmService {
|
|||||||
public FilmDto addSeazon(AddSeazonDto addSeazonDto) {
|
public FilmDto addSeazon(AddSeazonDto addSeazonDto) {
|
||||||
SeazonEntity seazonEntity = seazonRepository.findById(addSeazonDto.getSeazonId());
|
SeazonEntity seazonEntity = seazonRepository.findById(addSeazonDto.getSeazonId());
|
||||||
FilmEntity film = filmRepository.findById(addSeazonDto.getFilmId());
|
FilmEntity film = filmRepository.findById(addSeazonDto.getFilmId());
|
||||||
List<SeazonEntity> seasons = film.getSeazons();
|
|
||||||
|
|
||||||
if (!seasons.contains(seazonEntity)) {
|
if (seazonEntity != null && film != null && !film.getSeazons().contains(seazonEntity)) {
|
||||||
seasons.add(seazonEntity);
|
film.getSeazons().add(seazonEntity);
|
||||||
}
|
}
|
||||||
return filmMapper.toDto(film);
|
return filmMapper.toDto(film);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ import ru.ip.example.repository.SeazonRepository;
|
|||||||
import ru.ip.example.repository.SeriesRepository;
|
import ru.ip.example.repository.SeriesRepository;
|
||||||
import ru.ip.example.service.SeazonService;
|
import ru.ip.example.service.SeazonService;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class SeazonServiceImpl implements SeazonService {
|
public class SeazonServiceImpl implements SeazonService {
|
||||||
@@ -21,6 +24,22 @@ public class SeazonServiceImpl implements SeazonService {
|
|||||||
|
|
||||||
private final SeriesRepository seriesRepository;
|
private final SeriesRepository seriesRepository;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SeazonDto> findAll() {
|
||||||
|
List<SeazonEntity> seazons = seazonRepository.findAll();
|
||||||
|
List<SeazonDto> seazonDtos = new ArrayList<>();
|
||||||
|
for(SeazonEntity seazon : seazons) {
|
||||||
|
seazonDtos.add(seazonMapper.toDto(seazon));
|
||||||
|
}
|
||||||
|
return seazonDtos;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SeazonDto findById(Integer id) {
|
||||||
|
SeazonEntity seazon = seazonRepository.findById(id);
|
||||||
|
return seazonMapper.toDto(seazon);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SeazonDto save(SeazonDto dto) {
|
public SeazonDto save(SeazonDto dto) {
|
||||||
SeazonEntity entity = seazonMapper.toEntity(dto);
|
SeazonEntity entity = seazonMapper.toEntity(dto);
|
||||||
@@ -46,7 +65,7 @@ public class SeazonServiceImpl implements SeazonService {
|
|||||||
SeriesEntity series = seriesRepository.findById(dto.getSeriesId());
|
SeriesEntity series = seriesRepository.findById(dto.getSeriesId());
|
||||||
SeazonEntity seazon = seazonRepository.findById(dto.getSeazonId());
|
SeazonEntity seazon = seazonRepository.findById(dto.getSeazonId());
|
||||||
|
|
||||||
if (!seazon.getSeries().contains(series)) {
|
if (series != null && seazon != null && !seazon.getSeries().contains(series)) {
|
||||||
seazon.getSeries().add(series);
|
seazon.getSeries().add(series);
|
||||||
}
|
}
|
||||||
return seazonMapper.toDto(seazon);
|
return seazonMapper.toDto(seazon);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package ru.ip.example.service.impl;
|
|||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import ru.ip.example.domain.SeazonDto;
|
||||||
import ru.ip.example.domain.SeriesDto;
|
import ru.ip.example.domain.SeriesDto;
|
||||||
import ru.ip.example.domain.entity.SeazonEntity;
|
import ru.ip.example.domain.entity.SeazonEntity;
|
||||||
import ru.ip.example.domain.entity.SeriesEntity;
|
import ru.ip.example.domain.entity.SeriesEntity;
|
||||||
@@ -9,6 +10,9 @@ import ru.ip.example.mapper.SeriesMapper;
|
|||||||
import ru.ip.example.repository.SeriesRepository;
|
import ru.ip.example.repository.SeriesRepository;
|
||||||
import ru.ip.example.service.SeriesService;
|
import ru.ip.example.service.SeriesService;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class SeriesServiceImpl implements SeriesService {
|
public class SeriesServiceImpl implements SeriesService {
|
||||||
@@ -17,6 +21,22 @@ public class SeriesServiceImpl implements SeriesService {
|
|||||||
|
|
||||||
private final SeriesRepository seriesRepository;
|
private final SeriesRepository seriesRepository;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SeriesDto> findAll() {
|
||||||
|
List<SeriesEntity> series = seriesRepository.findAll();
|
||||||
|
List<SeriesDto> seriesDtos = new ArrayList<>();
|
||||||
|
for(SeriesEntity seazon : series) {
|
||||||
|
seriesDtos.add(seriesMapper.toDto(seazon));
|
||||||
|
}
|
||||||
|
return seriesDtos;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SeriesDto findById(Integer id) {
|
||||||
|
SeriesEntity series = seriesRepository.findById(id);
|
||||||
|
return seriesMapper.toDto(series);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SeriesDto save(SeriesDto dto) {
|
public SeriesDto save(SeriesDto dto) {
|
||||||
SeriesEntity entity = seriesMapper.toEntity(dto);
|
SeriesEntity entity = seriesMapper.toEntity(dto);
|
||||||
|
|||||||
Reference in New Issue
Block a user