/
linto
/
opensearch-example
Обзор
Документация
Войти
/
linto
/
opensearch-example
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/com/example/demo/controller/SubjectController.java
70 строк
2 KB
linto
init
30 июл 2025, 11:44
30 июл 2025, 11:44
dc5aaf3
Код
Авторство
О чём код?
package com.example.demo.controller; import java.util.List; import java.util.UUID; import org.springframework.http.HttpStatus; import org.springframework.validation.annotation.Validated; 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.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.server.ResponseStatusException; import com.example.demo.dto.SubjectDto; import com.example.demo.service.SubjectService; import com.example.demo.service.SubjectService.SubjectAlreadyExistsException; import com.example.demo.service.SubjectService.SubjectNotFoundException; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @RestController @RequestMapping("/subject") @RequiredArgsConstructor @Validated @Slf4j public class SubjectController { private final SubjectService subjectService; @GetMapping() @ResponseStatus(code = HttpStatus.OK) public List<SubjectDto> findAll() { return subjectService.findAll(); } @GetMapping("/{id}") public SubjectDto findById(@PathVariable("id") UUID id) { try { return subjectService.findById(id); } catch (SubjectNotFoundException e) { throw new ResponseStatusException(HttpStatus.NOT_FOUND, e.getMessage(), e); } } @DeleteMapping("/{id}") public void remove(@PathVariable("id") UUID id) { try { subjectService.delete(id); } catch (SubjectNotFoundException e) { throw new ResponseStatusException(HttpStatus.NOT_FOUND, e.getMessage(), e); } } @PutMapping @ResponseStatus(HttpStatus.CREATED) public UUID create(@Valid @RequestBody SubjectDto subject) { try { return subjectService.create(subject); } catch (SubjectAlreadyExistsException e) { throw new ResponseStatusException(HttpStatus.BAD_REQUEST, e.getMessage(), e); } } }