From ca31cff26810ce280df03da252d3bbf73b932409 Mon Sep 17 00:00:00 2001
From: Hendrik Jungnitsch <hendrik.jungnitsch@gedoplan.de>
Date: Fr, 02 Sep 2022 15:30:35 +0200
Subject: [PATCH] exercise

---
 src/main/java/de/gedoplan/seminar/jpa/exercise/rest/JunctionResource.java |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/main/java/de/gedoplan/seminar/jpa/exercise/rest/JunctionResource.java b/src/main/java/de/gedoplan/seminar/jpa/exercise/rest/JunctionResource.java
index 7df8248..cf8969d 100644
--- a/src/main/java/de/gedoplan/seminar/jpa/exercise/rest/JunctionResource.java
+++ b/src/main/java/de/gedoplan/seminar/jpa/exercise/rest/JunctionResource.java
@@ -1,12 +1,19 @@
 package de.gedoplan.seminar.jpa.exercise.rest;
 
+import java.util.Optional;
+
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 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 org.springframework.web.server.ResponseStatusException;
 
 import de.gedoplan.seminar.jpa.exercise.domain.Junction;
 import de.gedoplan.seminar.jpa.exercise.repository.JunctionRepository;
@@ -34,4 +41,17 @@
     
     this.logger.debug("Inserted: " + junction);
   }
+  
+  /**
+   * Exercise JPA_BASICS_04
+   */
+  @GetMapping("loadByName")
+  public Junction loadByName(@RequestParam("name") String name) {
+    this.logger.debug("----- loadByName -----");
+
+    Optional<Junction> junction = this.junctionRepository.readByName(name);
+    
+    junction.ifPresent(j -> this.logger.debug(name+": "+j));
+    return junction.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND));
+  }
 }

--
Gitblit v1.7.1