/
fertman
/
java-demo
Обзор
Документация
Войти
/
fertman
/
java-demo
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/com/rodel/demo/RestApiCarController.java
49 строк
1 KB
Ilia Fertikov
убраны ненужные импорта
15 июн 2025, 21:03
15 июн 2025, 21:03
4eea4ba
Код
Авторство
О чём код?
package com.rodel.demo; import org.springframework.beans.BeanUtils; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.Optional; @RestController @RequestMapping("/cars") public class RestApiCarController { private final CarRepository carRepository; public RestApiCarController(CarRepository carRepository) { this.carRepository = carRepository; } @GetMapping Iterable<Car> getCars() { return carRepository.findAll(); } @GetMapping("/{id}") Optional<Car> getCarById(@PathVariable String id) { return carRepository.findById(id); } @PostMapping Car postCar(@RequestBody Car car) { return carRepository.save(car); } @PutMapping("/{id}") ResponseEntity<Car> putCar(@PathVariable String id, @RequestBody Car car) { Optional<Car> existingCar = carRepository.findById(id); if (existingCar.isPresent()) { BeanUtils.copyProperties(car, existingCar.get(), "id"); // исключаем поле id return new ResponseEntity<>(carRepository.save(existingCar.get()), HttpStatus.OK); } return new ResponseEntity<>(HttpStatus.NOT_FOUND); } @DeleteMapping("/{id}") void deleteCar(@PathVariable String id) { carRepository.deleteById(id); } }