package de.gedoplan.seminar.jpa.exercise.rest; import java.util.List; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import de.gedoplan.seminar.jpa.exercise.domain.MaintenanceDepartment; import de.gedoplan.seminar.jpa.exercise.repository.MaintenanceDepartmentRepository; @RequestMapping(path = "/mdeps", produces = MediaType.APPLICATION_JSON_VALUE) @RestController public class MaintenanceDepartmentResource { @Autowired Logger logger; @Autowired MaintenanceDepartmentRepository maintenanceDepartmentRepository; @PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE) public void insert(@RequestBody MaintenanceDepartment maintenanceDepartment) { this.logger.debug("----- insert -----"); this.maintenanceDepartmentRepository.save(maintenanceDepartment); this.logger.debug("Inserted: " + maintenanceDepartment); } /** * Exercise JPA_BASICS_05: Find all entries. */ @GetMapping public List findAll() { this.logger.debug("----- findAll -----"); List maintenanceDepartments = maintenanceDepartmentRepository.findAll(); this.logger.debug("Gefunden: " + maintenanceDepartments); return maintenanceDepartments; } /** * Exercise JPA_BASICS_06: Find by highway name. */ @GetMapping("findByHighwayName") public List findByHighwayName(@RequestParam("name") String highwayName) { this.logger.debug("----- findByHighwayName -----"); List maintenanceDepartments = maintenanceDepartmentRepository.findByHighways_Name(highwayName); this.logger.debug(highwayName + ": " + maintenanceDepartments); return maintenanceDepartments; } }