diff --git a/openapi.yml b/openapi.yml
new file mode 100644
index 0000000..1736832
--- /dev/null
+++ b/openapi.yml
@@ -0,0 +1,59 @@
+openapi: 3.0.3
+info:
+ title: swisssign-challenge - dlmw
+ description: |-
+ This is the documentation for the SwissSign Challenge API.
+ termsOfService: ""
+ contact:
+ email: dylan@dlmw.ch
+ license:
+ name: GNU General Public License Version 3
+ url: https://www.gnu.org/licenses/gpl-3.0.txt
+ version: 0.0.1
+externalDocs:
+ description: ""
+ url: ""
+servers:
+ - url: ""
+tags:
+ - name: hello
+ description: ""
+
+paths:
+ /hello:
+ get:
+ tags:
+ - hello
+ summary: Get a hello from me
+ operationId: getHello
+ responses:
+ 200:
+ description: "Hello"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/HelloResponse"
+
+components:
+ schemas:
+ HelloResponse:
+ type: object
+ properties:
+ value:
+ type: string
+
+ ErrorResponse:
+ type: object
+ required:
+ - message
+ - code
+ properties:
+ message:
+ type: string
+ description: Human-readable error message
+ code:
+ type: integer
+ description: Machine-readable error code
+ details:
+ type: object
+ description: Additional error details when available
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 74b4e70..fef0f04 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,6 +49,31 @@
postgresql
runtime
+
+ jakarta.validation
+ jakarta.validation-api
+ 3.0.2
+
+
+ jakarta.persistence
+ jakarta.persistence-api
+
+
+ io.swagger.core.v3
+ swagger-annotations
+ 2.2.28
+
+
+ org.openapitools
+ jackson-databind-nullable
+ 0.2.6
+
+
+ io.swagger.core.v3
+ swagger-models
+ 2.2.28
+
+
org.projectlombok
@@ -110,6 +135,28 @@
+
+ org.openapitools
+ openapi-generator-maven-plugin
+ 7.11.0
+
+
+ generate-sources
+
+ generate
+
+
+ ${project.basedir}/openapi.yml
+ spring
+
+ true
+ true
+ src/gen/java/main
+
+
+
+
+
diff --git a/src/main/java/ch/dlmw/swisssignchallenge/controllers/HelloController.java b/src/main/java/ch/dlmw/swisssignchallenge/controllers/HelloController.java
new file mode 100644
index 0000000..6bb6aed
--- /dev/null
+++ b/src/main/java/ch/dlmw/swisssignchallenge/controllers/HelloController.java
@@ -0,0 +1,14 @@
+package ch.dlmw.swisssignchallenge.controllers;
+
+import org.openapitools.api.HelloApi;
+import org.openapitools.model.HelloResponse;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+
+@Controller
+public class HelloController implements HelloApi {
+ @Override
+ public ResponseEntity getHello() {
+ return ResponseEntity.ok(new HelloResponse().value("Hello, world"));
+ }
+}