Skip to content
Snippets Groups Projects
Commit 7fa1c96d authored by Karsch Lukas's avatar Karsch Lukas
Browse files

Merge branch '41-plants-controller-get-fur-einzelne-pflanze' into 'main'

Resolve "plants controller: GET für einzelne Pflanze"

Closes #41

See merge request !26
parents e33fdd21 4875bfbe
No related branches found
No related tags found
1 merge request!26Resolve "plants controller: GET für einzelne Pflanze"
package hdm.mi.growbros.controllers;
import hdm.mi.growbros.exceptions.PlantNotFoundException;
import hdm.mi.growbros.models.dto.CustomPageDto;
import hdm.mi.growbros.models.plant.Plant;
import hdm.mi.growbros.models.search.SearchRequest;
......@@ -12,12 +13,12 @@ import java.util.Collection;
@RestController
@CrossOrigin
@RequestMapping("/api/v1")
@RequestMapping("/api/v1/plants")
@RequiredArgsConstructor
public class PlantsController {
private final PlantsService plantsService;
@GetMapping("/plants")
@GetMapping
public CustomPageDto<Plant> getAllPlants(
@RequestParam(value = "page", defaultValue = "0") int page,
@RequestParam(value = "pageSize", defaultValue = "25") int pageSize
......@@ -25,17 +26,22 @@ public class PlantsController {
return plantsService.getPlants(page, pageSize);
}
@GetMapping("/plants/randomPlants/{numberOfPlants}")
@GetMapping("/{id}")
public Plant getPlant(@PathVariable long id) {
return plantsService.findById(id).orElseThrow(() -> new PlantNotFoundException(id));
}
@GetMapping("/randomPlants/{numberOfPlants}")
public Collection<Plant> getRandomPlants(@PathVariable Integer numberOfPlants) {
return plantsService.getRandomPlants(numberOfPlants);
}
@GetMapping("/plants/search")
@GetMapping("/search")
public Collection<Plant> getPlantsSearchedFor(@RequestBody @Valid SearchRequest searchRequest) {
return plantsService.getPlantsSearchedFor(searchRequest);
}
@PostMapping("/plants")
@PostMapping
public void createPlant(@RequestBody @Valid Plant plant) {
plantsService.createPlant(plant);
}
......
......@@ -3,8 +3,8 @@ package hdm.mi.growbros.service;
import hdm.mi.growbros.models.dto.CustomPageDto;
import hdm.mi.growbros.models.plant.Plant;
import hdm.mi.growbros.models.search.PlantSpecification;
import hdm.mi.growbros.repositories.PlantRepository;
import hdm.mi.growbros.models.search.SearchRequest;
import hdm.mi.growbros.repositories.PlantRepository;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -55,4 +55,8 @@ public class PlantsService {
log.info("Saving plant '{}' to repository.", plant.getName());
plantRepository.save(plant);
}
public Optional<Plant> findById(long id) {
return plantRepository.findById(id);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment