Missing path-parameter renders a page without remote-data (no 400)
[demos/testing] / src / main / java / de / juplo / demo / HtmlController.java
index 5696718..0c5f276 100644 (file)
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestParam;
+import reactor.core.publisher.Mono;
 
 
 /**
@@ -24,9 +25,15 @@ public class HtmlController
 
 
   @GetMapping("/")
-  public String fetch(Model model, @RequestParam String path)
+  public String fetch(Model model, @RequestParam(required = false) String path)
   {
-    model.addAttribute("text", service.getRemoteText(path));
+    model.addAttribute(
+        "text",
+        path == null
+            ? ""
+            : service
+                  .getRemoteText(path)
+                  .onErrorResume(t -> Mono.just(t.getMessage())));
     return "home";
   }
 }