Hendrik Jungnitsch
2022-09-07 5092de6804da307d0d1a5f92d99b8f7a6f36a92b
src/main/java/de/gedoplan/seminar/jpa/exercise/rest/JunctionResource.java
@@ -6,6 +6,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
@@ -16,7 +17,9 @@
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.server.ResponseStatusException;
import de.gedoplan.seminar.jpa.exercise.domain.Highway;
import de.gedoplan.seminar.jpa.exercise.domain.Junction;
import de.gedoplan.seminar.jpa.exercise.repository.HighwayRepository;
import de.gedoplan.seminar.jpa.exercise.repository.JunctionRepository;
@RestController
@@ -30,6 +33,9 @@
  @Autowired
  JunctionRepository junctionRepository;
  @Autowired
  HighwayRepository highwayRepository;
  /**
   * Exercise JPA_BASICS_02: Insert test data.
@@ -56,8 +62,11 @@
    return junction.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND));
  }
  
  @Transactional
  @PutMapping("/{junctionId}/assignToHighway/{highwayId}")
  public void assignToHighway(@PathVariable Integer junctionId, @PathVariable Integer highwayId) {
     Highway highwayRef = highwayRepository.getReferenceById(highwayId);
     Junction junction = junctionRepository.findById(junctionId).orElseThrow();
     junction.setHighway(highwayRef);
  }
}