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