/
Vagabond132
/
RestExample
Обзор
Документация
Войти
/
Vagabond132
/
RestExample
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/ru/sber/arch/restExample/controller/GenreController.java
48 строк
2 KB
Vagabond132
Исправление структуры
17 фев 2025, 19:25
17 фев 2025, 19:25
47d5476
Код
Авторство
О чём код?
package ru.sber.arch.restExample.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import ru.sber.arch.restExample.model.Genre; import ru.sber.arch.restExample.service.GenreService; import java.util.List; @RestController @RequestMapping("/genres") public class GenreController { @Autowired private GenreService genreService; @PostMapping("/add") public ResponseEntity<?> addGenre(@RequestBody Genre genre) { if (genreService.addGenre(genre).isPresent()) { return new ResponseEntity<>(genre, HttpStatus.CREATED); } else { return new ResponseEntity<>(HttpStatus.NOT_ACCEPTABLE); } } @GetMapping("/all") public List<Genre> getAllGenres() { return genreService.getAllGenres(); } @GetMapping("/find") public ResponseEntity<?> getGenre(@RequestParam String name) { var res = genreService.getGenreByName(name); return res.map(genre -> new ResponseEntity<>(genre, HttpStatus.OK)) .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); } @DeleteMapping("/remove") public ResponseEntity<?> removeGenre(@RequestBody Genre genre) { if (genreService.removeGenre(genre).isPresent()) { return new ResponseEntity<>(genre, HttpStatus.OK); } else { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } } }