Просмотр исходного кода

Fix PlantManagementController put mapping and add response to delete mapping

Blazej 4 лет назад
Родитель
Сommit
a60992d7a7

+ 6 - 4
src/main/java/com/example/plantsforyou/plant/PlantManagementController.java

@@ -31,18 +31,20 @@ public class PlantManagementController {
     }
 
     @DeleteMapping(path = "{plantID}")
-    public void deletePlant(@PathVariable("plantID") Long plantID){
+    public ResponseEntity deletePlant(@PathVariable("plantID") Long plantID){
+        if(plantService.findPlantById(plantID).isEmpty())
+            return new ResponseEntity(HttpStatus.NOT_ACCEPTABLE);
         plantService.delete(plantID);
+        return new ResponseEntity(HttpStatus.OK);
     }
 
-    //Nie jestem pewien czy to dobry sposób na przekazanie wartości do update (RequestBody)
     @PutMapping(path = "{plantID}/inStock")
-    public void updatePlantInStock(@PathVariable("plantID") Long plantID, @RequestBody boolean inStock){
+    public void updatePlantInStock(@PathVariable("plantID") Long plantID, @RequestParam() boolean inStock){
         plantService.updateInStock(plantID, inStock);
     }
 
     @PutMapping(path = "{plantID}/price")
-    public void updatePlantPrice(@PathVariable("plantID") Long plantID, @RequestBody Double price){
+    public void updatePlantPrice(@PathVariable("plantID") Long plantID, @RequestParam() Double price){
         plantService.updatePrice(plantID, price);
     }
 }

+ 1 - 0
src/main/java/com/example/plantsforyou/plant/PlantService.java

@@ -18,6 +18,7 @@ public class PlantService {
     public List<Plant> getAllPlants(){
         return plantRepository.findAll();
     }
+    public Optional<Plant> findPlantById(Long plantID){ return plantRepository.findById(plantID); }
     public void addPlant(Plant plant){
         plantRepository.save(plant);
     }