From 7470b45211f23d2ee20b4c85862123d7b2e67ca8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20Sch=C3=A4rtl?= <andreas@schaertl.me>
Date: Thu, 21 May 2020 10:35:30 +0200
Subject: [PATCH] uloapi: set up basic routing

---
 .../main/java/info/mathhub/uloapi/Main.java   |  5 ++++-
 .../main/java/info/mathhub/uloapi/Routes.java | 21 +++++++++++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)
 create mode 100644 experimental/uloapi/src/main/java/info/mathhub/uloapi/Routes.java

diff --git a/experimental/uloapi/src/main/java/info/mathhub/uloapi/Main.java b/experimental/uloapi/src/main/java/info/mathhub/uloapi/Main.java
index 9bea1af..03e9e8c 100644
--- a/experimental/uloapi/src/main/java/info/mathhub/uloapi/Main.java
+++ b/experimental/uloapi/src/main/java/info/mathhub/uloapi/Main.java
@@ -3,7 +3,10 @@ package info.mathhub.uloapi;
 import static spark.Spark.*;
 
 public class Main {
+    private Main() {};
+
     public static void main(String[] args) {
-        get("/hello", (req, res) -> "Hello World");
+        get("/", Routes.index);
+        get("/favicon.ico", Routes.createError(404));
     }
 }
diff --git a/experimental/uloapi/src/main/java/info/mathhub/uloapi/Routes.java b/experimental/uloapi/src/main/java/info/mathhub/uloapi/Routes.java
new file mode 100644
index 0000000..a1d9b2a
--- /dev/null
+++ b/experimental/uloapi/src/main/java/info/mathhub/uloapi/Routes.java
@@ -0,0 +1,21 @@
+package info.mathhub.uloapi;
+
+import spark.*;
+
+/**
+ * This class contains all routes of our application.
+ */
+public class Routes {
+    private Routes() {};
+
+    public static final Route index = (Request request, Response response) -> {
+        return "<h1>Index /</h1>";
+    };
+
+    public static Route createError(int status) {
+       return (Request request, Response response) -> {
+           response.status(status);
+           return String.format("Error %d", status);
+       };
+    }
+}
-- 
GitLab