16.07.2016
Spring Boot - Hello World REST-Example
Hier wird ein minimaler Spring Boot REST-Service (Mikroservice) implementiert, der nur dazu dient zu zeigen, wie einfach ein REST-Service mit Spring Boot aufgesetzt werden kann. Das Maven-Projekt kann als Startpunkt verwendet werden, um weitere Features von Spring Boot und den verschiedenen Bibliotheken im Spring-Ökosystem zu sammeln.
Voraussetzungen:
- Java 8
- Maven 3 (nur für den Build)
Spring Boot Applikation erstellen
Los geht es auf der Seite start.spring.io. Wo Web ausgewählt wird, um anschliessend das Projekt-Template mit Generate Project zu erstellen.

Wenn die zip-Datei entpackt ist, dann sieht das Projekt in etwa so aus:
Das Template wird anschliessend in einer IDE oder in einem Text-Editor geöffnet und in der Klasse HelloWorldRestApplication
ein Controller ergänzt, der eine REST-Schnittstelle zur Verfügung stellt.
package org.hameister; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.Collection; @SpringBootApplication public class HelloWorldRestApplication { public static void main(String[] args) { SpringApplication.run(HelloWorldRestApplication.class, args); } } @RestController class HelloWorld { @RequestMapping(value = "/hello", method = RequestMethod.GET, produces = MediaType.TEXT_PLAIN_VALUE) ResponseEntity<String> helloWorld() { return new ResponseEntity<String>("Hello World!", HttpStatus.OK); } }
Es wird also einfach mit der Annotation @RestController
ein REST-Controller ergänzt, der ein RequestMapping für den Pfad /hello
hat und beim Aufruf nur den String Hallo World! zurückliefert.
Das Bauen des Maven Projekts kann in der IDE durchgeführt werden oder auf der Konsole mit mvn install
. Das Resultat ist eine jar-Datei, die im Unterverzeichnis target
liegt und HelloWorldRest-0.0.1-SNAPSHOT.jar
heißt.
Starten läßt sich der Service direkt aus der IDE oder auf der Console mit java -jar HelloWorldRest-0.0.1-SNAPSHOT.jar

Aufrufen läßt sich der REST-Service einfach im Bowser über die URL http://localhost:8080/hello.

Wenn alles geklappt hat, dann wird Hello World!
angezeigt.
Anmerkungen:
-
Bei dem Projekt handelt es sich um ein Maven-Projekt, bei dem alle benötigten Abhängigkeiten, d.h. weitere Bibliotheken in der Datei
pom.xml
verwaltet werden. - In der
pom.xml
wurde festgelegt, dass das Resultat des Builds eine jar-Datei ist. - In der jar-Datei ist ein eingebetteter Tomcat enthalten, der beim Start hochgefahren wird.
- Man kann in der
pom-Datei
auch für daspackaging
den Wertwar
eintragen. Allerdings muss man sich dann selbst um dem Tomcat kümmern. Der ist dann nicht mehr Bestandteil der jar-Datei. - Wenn man nichts ändert, dann startet der Tomcat auf Port 8080.