{"id":12632,"date":"2025-08-18T09:00:00","date_gmt":"2025-08-18T07:00:00","guid":{"rendered":"https:\/\/wata.es\/?p=12632"},"modified":"2025-06-06T15:40:56","modified_gmt":"2025-06-06T13:40:56","slug":"verwendung-von-spring-boot-zur-einrichtung-eines-rest-anwendungsservers","status":"publish","type":"post","link":"https:\/\/wata.es\/de\/verwendung-von-spring-boot-zur-einrichtung-eines-rest-anwendungsservers\/","title":{"rendered":"Verwendung von Spring Boot zur Einrichtung eines REST-Anwendungsservers"},"content":{"rendered":"\n<p>Die Einrichtung eines Backend-Servers zu Beginn eines neuen Projekts kann mitunter kompliziert und zeitaufwendig sein. In diesem Artikel zeigen wir, wie man mit Java und Spring Boot schnell und unkompliziert einen REST-Server aufsetzt.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Einleitung<\/h2>\n\n\n\n<p>Bei WATA Factory setzen wir Java sowohl in Kundenprojekten als auch intern intensiv ein. Trotz seines beachtlichen Alters von inzwischen 25 Jahren ist Java nach wie vor weit verbreitet und \u00e4u\u00dferst relevant.<\/p>\n\n\n\n<p>F\u00fcr das Frontend gibt es inzwischen meist bessere Alternativen wie Angular (mit TypeScript), React (mit JavaScript) oder Flutter (mit Dart). Doch im Backend ist Java oft nach wie vor die beste Wahl und kommt in unterschiedlichsten Projekten zum Einsatz. Gerade bei gro\u00dfen, unternehmensweiten Anwendungen gilt Java weiterhin quasi als Industriestandard.<\/p>\n\n\n\n<p>Nat\u00fcrlich stehen wir alle auf den Schultern von Giganten \u2013 niemand k\u00e4me auf die Idee, eine komplette Anwendung v\u00f6llig von Grund auf neu zu entwickeln. Stattdessen greifen wir auf Anwendungs-Frameworks zur\u00fcck. Im Java-\u00d6kosystem gibt es zahlreiche Optionen, deren Eignung sich jeweils nach den Projektanforderungen richtet:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Jakarta EE (ehemals Java EE) \u2013 f\u00fcr gro\u00dfe Enterprise-Anwendungen<\/li>\n\n\n\n<li>Hibernate \u2013 ein Java-ORM-Framework, das mit JPA arbeitet und den Datenbankzugriff vereinfacht<\/li>\n\n\n\n<li>Quarkus \u2013 leichtgewichtig, ideal f\u00fcr Cloud und Microservices<\/li>\n\n\n\n<li>Spring Framework \u2013 vermutlich das popul\u00e4rste Framework, geeignet f\u00fcr Microservices und REST-Anwendungen<\/li>\n<\/ul>\n\n\n\n<p>In diesem Artikel konzentrieren wir uns auf Spring, genauer gesagt auf Spring Boot. Es baut auf dem Spring Framework auf und wurde entwickelt, um die Entwicklung eigenst\u00e4ndiger, produktionsreifer Anwendungen deutlich zu vereinfachen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Warum Spring Boot?<\/h2>\n\n\n\n<p>Traditionell erforderte die Entwicklung neuer Anwendungen mit Java EE oder dem reinen Spring Framework viel Konfiguration und Boilerplate-Code. Man musste Abh\u00e4ngigkeiten verwalten, sicherstellen, dass alle Komponenten miteinander funktionieren, und sich zus\u00e4tzlich um das Deployment auf einem geeigneten Anwendungsserver k\u00fcmmern \u2013 oftmals ein aufw\u00e4ndiger Prozess.<\/p>\n\n\n\n<p>F\u00fcr umfangreiche Enterprise-Anwendungen mag dieser Detaillierungsgrad notwendig sein, doch f\u00fcr kleinere Projekte bedeutet er schlicht unn\u00f6tigen Overhead. Genau hier kommt Spring Boot ins Spiel: Es wurde entwickelt, um die Entwicklung eigenst\u00e4ndiger, produktionsfertiger Spring-Anwendungen zu vereinfachen, indem es weitestgehend auf Konventionen statt auf explizite Konfiguration setzt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Convention over Configuration<\/h3>\n\n\n\n<p>Das Prinzip &#8222;Convention over Configuration&#8220; bedeutet, dass Spring Boot sinnvolle Standardwerte vorgibt, die in vielen F\u00e4llen keine weitere manuelle Anpassung erfordern. So wird beispielsweise automatisch ein eingebetteter Tomcat-Server mitgeliefert, der sofort einsatzbereit ist.<\/p>\n\n\n\n<p>Auch viele Komponenten werden automatisch anhand von Standardwerten und vorhandenen Abh\u00e4ngigkeiten konfiguriert. Dadurch reduziert sich der Umfang an Boilerplate-Code erheblich, und man kann sehr schnell produktiv loslegen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Der Spring Boot Initializr<\/h3>\n\n\n\n<p>Ein weiteres Werkzeug, das den Projektstart enorm erleichtert, ist der Spring Boot Initializr. Mit diesem webbasierten Tool l\u00e4sst sich ein vollst\u00e4ndiges Projekt vorkonfigurieren und generieren. Dadurch entf\u00e4llt der manuelle Aufbau der Projektstruktur.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Erstellen einer Demo-Anwendung<\/h2>\n\n\n\n<p>Schauen wir uns nun an, wie wir mit dem Initializr eine funktionierende Spring-Boot-Anwendung aufsetzen:<\/p>\n\n\n\n<p>Aufrufen von <a href=\"https:\/\/start.spring.io\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">https:\/\/start.spring.io\/<br><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"937\" height=\"485\" src=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-1-DE.png\" alt=\"Screenshot der Spring Boot-Oberfl\u00e4che zum Erstellen eines neuen Projekts, mit Konfigurationsoptionen wie Projektdaten, Abh\u00e4ngigkeiten und Build-Tools\" class=\"wp-image-12594\" srcset=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-1-DE.png 937w, https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-1-DE-300x155.png 300w, https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-1-DE-768x398.png 768w\" sizes=\"auto, (max-width: 937px) 100vw, 937px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Als Build-Tool w\u00e4hlen wir Maven (Gradle w\u00e4re ebenfalls m\u00f6glich, doch Maven gilt als bew\u00e4hrt und bietet unz\u00e4hlige Plugins).<\/li>\n\n\n\n<li>Als Programmiersprache w\u00e4hlen wir Java.<\/li>\n\n\n\n<li>Die Spring Boot-Version belassen wir auf der jeweils aktuellen stabilen Version.<\/li>\n\n\n\n<li>Metadaten f\u00fcr dieses Demo-Projekt k\u00f6nnen wir auf den Standardwerten belassen.<\/li>\n\n\n\n<li>Als Packaging w\u00e4hlen wir &#8222;Jar&#8220;, damit unsere Anwendung als ausf\u00fchrbare JAR-Datei vorliegt.<\/li>\n\n\n\n<li>Wir w\u00e4hlen die Java-Version, die lokal auf unserem System installiert ist.<\/li>\n<\/ul>\n\n\n\n<p>Nun folgt der interessante Teil: Unter &#8222;Add Dependencies&#8220; k\u00f6nnen wir komfortabel s\u00e4mtliche ben\u00f6tigten Abh\u00e4ngigkeiten hinzuf\u00fcgen, ohne manuell in Maven Central suchen zu m\u00fcssen. Zur Verf\u00fcgung stehen unter anderem Tools f\u00fcr Entwicklung, Web, Datenbanken (SQL und NoSQL), Cloud, Sicherheit, Templating, Messaging, Tests, KI und vieles mehr.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"470\" src=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-2-DE.png\" alt=\"Screenshot der Abh\u00e4ngigkeitsauswahlseite in Spring Boot, auf der Bibliotheken wie Spring Web, Spring Data JPA und H2 Database ausgew\u00e4hlt werden\" class=\"wp-image-12597\" srcset=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-2-DE.png 977w, https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-2-DE-300x144.png 300w, https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-2-DE-768x369.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n\n\n\n<p>F\u00fcr unsere kleine Demo w\u00e4hlen wir folgende Abh\u00e4ngigkeiten aus:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Spring Web:<\/strong> Erm\u00f6glicht das Erstellen von REST-Endpunkten und bringt den eingebetteten Tomcat-Server mit.<\/li>\n\n\n\n<li><strong>Spring Boot DevTools: <\/strong>Erleichtert die Entwicklung durch Funktionen wie Live Reload und schnelleren Start.<\/li>\n\n\n\n<li><strong>Lombok:<\/strong> Spart Boilerplate-Code bei POJOs.<\/li>\n\n\n\n<li><strong>Spring Data JPA:<\/strong> F\u00fcr den Datenbankzugriff.<\/li>\n\n\n\n<li><strong>H2 Database:<\/strong> Eine einfache In-Memory-Datenbank f\u00fcr dieses Projekt..&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Nach dem Klick auf &#8222;Generate&#8220; wird ein ZIP-Archiv heruntergeladen. Dieses Archiv entpacken wir und \u00f6ffnen das Projekt anschlie\u00dfend mit der IDE unserer Wahl. In diesem Beispiel verwenden wir IntelliJ.<\/p>\n\n\n\n<p>Der Initializr hat nun eine Projektstruktur erzeugt (es gibt noch weitere Ordner und Dateien, aber diese sind die wichtigsten):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>demo\/src\/main\/java\/com\/example\/demo\/<strong>DemoApplication.java<\/strong>:&nbsp;<br>Hauptklasse zum Starten der Anwendung.&nbsp;<\/li>\n\n\n\n<li>Demo\/src\/main\/resources\/<strong>application.properties<\/strong>:&nbsp;<br>Hauptkonfigurationsdatei f\u00fcr die Anwendung. Hier werden z. B. die Datenbankverbindung und weitere Einstellungen hinterlegt.<\/li>\n\n\n\n<li><strong>pom.xml<\/strong>:&nbsp;<br>Verwaltung der Abh\u00e4ngigkeiten und Build-Plugins.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Erstellen des ersten Endpoints<\/h3>\n\n\n\n<p>Nachdem die Basis steht, erstellen wir unseren ersten, sehr einfachen REST-Endpunkt:<\/p>\n\n\n\n<p>Wir erzeugen im gleichen Paket wie DemoApplication.java eine neue Datei HelloWataController.java mit folgendem Inhalt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package com.example.demo;\n\nimport org.springframework.web.bind.annotation.GetMapping;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RestController;\n\n@RestController\n@RequestMapping(\"\/hello\")\npublic class HelloWataController {\n\n    @GetMapping\n    public String sayHello() {\n        return \"Hello WATA Factory!\";\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>Und das ist Alles!<\/p>\n\n\n\n<p>Jetzt starten wir die Anwendung, indem wir DemoApplication.java ausf\u00fchren. Bevor wir dies tun, sollten wir sicherstellen, dass alle Abh\u00e4ngigkeiten korrekt installiert sind, indem wir Maven clean und install ausf\u00fchren.<\/p>\n\n\n\n<p>Anschlie\u00dfend \u00f6ffnen wir unseren Browser und rufen <a href=\"http:\/\/localhost:8080\/hello\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">http:\/\/localhost:8080\/hello<\/a> auf. Wie erwartet, erscheint die Ausgabe &#8222;Hello WATA Factory!&#8220;.<\/p>\n\n\n\n<p>Damit haben wir erfolgreich unseren ersten REST-Endpunkt mit Spring Boot erstellt, der bereits mit minimalem Aufwand funktionsf\u00e4hig ist.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Erweiterung um eine Datenbank<\/h3>\n\n\n\n<p>Im n\u00e4chsten Schritt erweitern wir unsere Anwendung um eine Datenbankanbindung. Dank des H2-Datenbank-Pakets, das wir bereits hinzugef\u00fcgt haben, ist dies unkompliziert. F\u00fcr dieses Beispiel erstellen wir eine kleine Buch-Datenbank.<\/p>\n\n\n\n<p>Bevor wir jedoch mit der Programmierung fortfahren, m\u00fcssen wir die Verbindung zur Datenbank konfigurieren. Diese Einstellungen nehmen wir in der Datei <strong>application.properties<\/strong> vor:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>spring.application.name=demo\n\nspring.h2.console.enabled=true\nspring.datasource.url=jdbc:h2:mem:testdb\nspring.datasource.driverClassName=org.h2.Driver\nspring.datasource.username=sa\nspring.datasource.password=password\nspring.jpa.database-platform=org.hibernate.dialect.H2Dialect\nspring.jpa.hibernate.ddl-auto=update\n\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Definition der Entity-Klasse<\/h3>\n\n\n\n<p>Als n\u00e4chstes erstellen wir unsere Entit\u00e4ts-POJO-Klasse. Dazu erstellen wir ein Paket namens \u201ebook\u201c unterhalb von \u201ecom.example.demo\u201c und erstellen in diesem Paket eine neue Datei namens <strong>Book.java<\/strong>. F\u00fcgen Sie den folgenden Code in die neu erstellte Klasse ein:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Entity\n@Getter\n@Setter\npublic class Book {\n    @Id\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\n    private Long id;\n    private String title;\n    private String author;\n}\n<\/code><\/pre>\n\n\n\n<p>Dies ist unsere Entity-Klasse, die die Datenbankeintr\u00e4ge der Tabelle &#8222;book&#8220; abbildet, was durch die Annotation &#8222;@Entity&#8220; gekennzeichnet wird.<\/p>\n\n\n\n<p>Die Annotationen &#8222;@Getter&#8220; und &#8222;@Setter&#8220; stammen aus dem im Initializr hinzugef\u00fcgten Lombok-Paket. Sie generieren automatisch Getter- und Setter-Methoden f\u00fcr die Attribute zur Compile-Zeit, sodass wir diese Methoden nicht manuell schreiben m\u00fcssen.<\/p>\n\n\n\n<p>Die weiteren beiden Annotationen legen fest, welches Attribut der Prim\u00e4rschl\u00fcssel der Entity ist und wie dieser generiert wird.<\/p>\n\n\n\n<p>In Spring Boot bezeichnet man die Klasse, die Entities aus der Datenbank liest und in die Datenbank schreibt, als Repository. Daher m\u00fcssen wir nun eine Repository-Klasse f\u00fcr unsere Book-Entity erstellen. Wir nennen sie BookRepository.java und legen sie im gleichen Paket wie die Entity-Klasse ab. Der Code besteht nur aus einer Zeile:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public interface BookRepository extends JpaRepository&lt;Book, Long&gt; { }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Service-Layer erstellen<\/h3>\n\n\n\n<p>In einer klassischen Drei-Schichten-Architektur greift man \u00fcblicherweise nicht direkt vom Controller auf das Repository zu. Dies dient dazu, die verschiedenen Ebenen der Anwendung voneinander zu trennen, was eine bew\u00e4hrte Praxis darstellt. Stattdessen erfolgt der Zugriff auf die Datenbank \u00fcber eine Service-Klasse.<\/p>\n\n\n\n<p>Lassen Sie uns diese Klasse erstellen und, wenig \u00fcberraschend, <strong>&#8222;BookService.java&#8220;<\/strong> nennen:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Service\npublic class BookService {\n \n    @Autowired\n    private BookRepository bookRepository;\n \n    public List&lt;Book&gt; getAllBooks() {\n        return bookRepository.findAll();\n    }\n \n    public Book getBookById(Long id) {\n        return bookRepository.findById(id).orElse(null);\n    }\n \n    public void deleteBook(Long id) {\n        bookRepository.deleteById(id);\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>Zusammengefasst haben wir also drei Methoden: eine zum Abrufen aller B\u00fccher, eine zum Suchen eines Buches anhand seiner ID und eine zum L\u00f6schen eines Buches aus der Datenbank.<\/p>\n\n\n\n<p>Aber Moment \u2013 wir haben diese Methoden in unserem BookRepository.java gar nicht selbst implementiert! Tats\u00e4chlich besteht unsere Repository-Klasse nur aus einer einzigen Zeile.<\/p>\n\n\n\n<p>Das ist eine weitere St\u00e4rke von Spring Boot und ein sch\u00f6nes Beispiel f\u00fcr das Prinzip \u201eConvention over Configuration\u201c: Diese Methoden funktionieren einfach direkt \u2013 ganz ohne eigene Implementierung. Spring Boot bietet zahlreiche M\u00f6glichkeiten, um auf Datenbanken zuzugreifen, ohne auch nur eine einzige SQL-Zeile schreiben zu m\u00fcssen.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Definition des Controller&nbsp;<\/h3>\n\n\n\n<p>Nun fehlt nur noch ein letzter Schritt, um unsere Anwendung vollst\u00e4ndig nutzbar zu machen: Wir m\u00fcssen die zuvor erstellten Methoden nach au\u00dfen verf\u00fcgbar machen. Dazu erstellen wir eine Controller-Klasse, die drei REST-Endpunkte bereitstellt, je einen pro Methode:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@RestController\n@RequestMapping(\"\/api\/books\")\npublic class BookController {\n \n    @Autowired\n    private BookService bookService;\n \n    @GetMapping\n    public List&lt;Book&gt; getAllBooks() {\n        return bookService.getAllBooks();\n    }\n \n    @GetMapping(\"\/{id}\")\n    public Book getBookById(@PathVariable Long id) {\n        return bookService.getBookById(id);\n    }\n \n    @DeleteMapping(\"\/{id}\")\n    public void deleteBook(@PathVariable Long id) {\n        bookService.deleteBook(id);\n    }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Bef\u00fcllen der Datenbank<\/h3>\n\n\n\n<p>Wir starten die Anwendung erneut. Da wir eine In-Memory-Datenbank verwenden, werden alle Daten bei jedem Herunterfahren der Anwendung gel\u00f6scht. Daher m\u00fcssen wir zun\u00e4chst wieder einige Testdaten einf\u00fcgen, die wir \u00fcber unsere Endpunkte abfragen k\u00f6nnen.<\/p>\n\n\n\n<p>Dazu \u00f6ffnen wir im Browser die Adresse <a href=\"http:\/\/localhost:8080\/h2-console\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">http:\/\/localhost:8080\/h2-console<\/a>. Mit den in der Datei application.properties definierten Zugangsdaten stellen wir die Verbindung zur In-Memory-Datenbank her. Anschlie\u00dfend k\u00f6nnen wir im angezeigten SQL-Editor einige Insert-Befehle ausf\u00fchren, um die Datenbank mit B\u00fcchern zu f\u00fcllen. Hier einige Beispiele:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INSERT INTO BOOK VALUES(1, 'George Orwell', '1984');\nINSERT INTO BOOK VALUES(2, 'J.R.R. Tolkien', 'The Lord of the Rings');\nINSERT INTO BOOK VALUES(3, 'Franz Kafka', 'Metamorphosis');\n<\/code><\/pre>\n\n\n\n<p>Falls Sie (wie ich) es als l\u00e4stig empfinden, diesen Schritt bei jedem Neustart der Anwendung zu wiederholen, k\u00f6nnen Sie diese Einf\u00fcgungen einfach in einer Datei namens <strong>data.sql<\/strong> speichern und diese im Verzeichnis <strong>src\/main\/resources<\/strong> ablegen. Au\u00dferdem m\u00fcssen Sie in Falls Sie (wie ich) es als l\u00e4stig empfinden, diesen Schritt bei jedem Neustart der Anwendung zu wiederholen, k\u00f6nnen Sie diese Einf\u00fcgungen einfach in einer Datei namens data.sql speichern und diese im Verzeichnis src\/main\/resources ablegen. Au\u00dferdem m\u00fcssen Sie in application.properties die Zeile&nbsp;&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>spring.datasource.url=jdbc:h2:mem:testdb<\/code><\/pre>\n\n\n\n<p>In<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>spring.datasource.url=jdbc:h2:file:.\/data\/demo<\/code><\/pre>\n\n\n\n<p>Sie werden nun bei jedem Start der Anwendung automatisch ausgef\u00fchrt.<\/p>\n\n\n\n<p>Dies ist ein weiteres gutes Beispiel f\u00fcr die Spring Boot Philosophie \u201eKonvention vor Konfiguration\u201c: Man k\u00f6nnte nat\u00fcrlich auch einen anderen Dateinamen und ein anderes Verzeichnis konfigurieren, aber wenn man sich mit diesen vern\u00fcnftigen Standardwerten zufrieden gibt, funktioniert es sofort, ohne dass man \u00fcberhaupt etwas konfigurieren muss.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Testen der Anwendung<\/h3>\n\n\n\n<p>Nachdem wir nun einige Daten in unsere Datenbank eingegeben haben, k\u00f6nnen wir unsere Endpunkte testen. Am einfachsten geht das mit einem Tool wie Postman, mit dem Sie die verschiedenen http-Methoden wie GET und DELETE einfach ausprobieren k\u00f6nnen. Wenn Sie die Kommandozeile bevorzugen, k\u00f6nnte curl das Tool Ihrer Wahl sein.<\/p>\n\n\n\n<p>Wenn Sie eine GET-Anfrage an <a href=\"http:\/\/localhost:8080\/api\/books\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/localhost:8080\/api\/books<\/a> stellen, sollten Sie folgende Antwort erhalten:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"485\" src=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-3-DE.png\" alt=\"Postman-Oberfl\u00e4che mit einer GET-Anfrage an einen Spring Boot REST-API-Endpunkt, um eine Liste aller B\u00fccher vom Backend abzurufen\" class=\"wp-image-12600\" srcset=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-3-DE.png 977w, https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-3-DE-300x149.png 300w, https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-3-DE-768x381.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n\n\n\n<p>Um nur das \u201cbook\u201d mit id=2 abzurufen, rufen Sie <a href=\"http:\/\/localhost:8080\/api\/books\/2\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">http:\/\/localhost:8080\/api\/books\/2<\/a>:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"306\" src=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-4-DE.png\" alt=\"Postman-Oberfl\u00e4che zeigt das Ergebnis einer GET-Anfrage an einen Spring Boot REST-API-Endpunkt, der die Details eines einzelnen Buches nach ID zur\u00fcckgibt\" class=\"wp-image-12603\" srcset=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-4-DE.png 977w, https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-4-DE-300x94.png 300w, https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-4-DE-768x241.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n\n\n\n<p>L\u00f6schen wir nun das \u201cbook\u201d mit der id=2 aus der Datenbank, indem wir eine DELETE-Anfrage stellen und dann erneut alle B\u00fccher abrufen, um sicherzustellen, dass es wirklich weg ist:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"245\" src=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-5-DE.png\" alt=\"Postman-Anwendung mit einer DELETE-Anfrage an einen Spring Boot REST-API-Endpunkt, um einen bestimmten Bucheintrag aus der Datenbank zu l\u00f6schen\" class=\"wp-image-12606\" srcset=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-5-DE.png 977w, https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-5-DE-300x75.png 300w, https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-5-DE-768x193.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"408\" src=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-6-DE.png\" alt=\"Einsatz von Postman zur Testung einer Spring Boot REST-API durch Senden einer GET-Anfrage zum Abrufen aller B\u00fccher, inklusive Anzeige der JSON-Antwort\" class=\"wp-image-12609\" srcset=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-6-DE.png 977w, https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-6-DE-300x125.png 300w, https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/SpringBoot-screen-6-DE-768x321.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n\n\n\n<p>Alles erledigt! Wie wir bereits getestet haben, funktionieren unsere Endpunkte wie erwartet.<\/p>\n\n\n\n<p>Nat\u00fcrlich ist dieses kleine Beispiel nur ein Proof of Concept. Es fehlt an Sicherheit, Tests und nat\u00fcrlich an einem Frontend.&nbsp;&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>In der WATA Factory haben wir Java f\u00fcr unser Backend sowohl in internen als auch in externen Projekten eingesetzt und tun dies auch weiterhin. Obwohl es oft als umst\u00e4ndlicher und schwieriger einzurichten wahrgenommen wird als z.B. Javascript-basierte Alternativen wie NodeJS, hat dieser Artikel gezeigt, wie mit wenigen Zeilen Code ein funktionierender Anwendungsserver eingerichtet werden kann, um so schnell wie m\u00f6glich produktiv zu werden.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Einrichtung eines Backend-Servers zu Beginn eines neuen Projekts kann mitunter kompliziert und zeitaufwendig sein. In diesem Artikel zeigen wir, wie man mit Java und Spring Boot schnell und unkompliziert einen REST-Server aufsetzt.<\/p>\n","protected":false},"author":46,"featured_media":12588,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[68],"tags":[],"class_list":["post-12632","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-neuigkeiten"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Verwendung von Spring Boot zur Einrichtung eines REST-Anwendungsservers - WATA Factory<\/title>\n<meta name=\"description\" content=\"Erfahren Sie, wie Sie mit Spring Boot schnell und einfach REST-Server erstellen. Schritt-f\u00fcr-Schritt-Anleitung f\u00fcr Java-Entwickler. WATA Factory.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wata.es\/?p=12557\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Verwendung von Spring Boot zur Einrichtung eines REST-Anwendungsservers - WATA Factory\" \/>\n<meta property=\"og:description\" content=\"Erfahren Sie, wie Sie mit Spring Boot schnell und einfach REST-Server erstellen. Schritt-f\u00fcr-Schritt-Anleitung f\u00fcr Java-Entwickler. WATA Factory.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wata.es\/?p=12557\" \/>\n<meta property=\"og:site_name\" content=\"WATA Factory\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/watafactory\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-18T07:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/rocket-DE-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Oliver K\u00f6hler\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@watafactory\" \/>\n<meta name=\"twitter:site\" content=\"@watafactory\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oliver K\u00f6hler\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wata.es\\\/?p=12557#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wata.es\\\/?p=12557\"},\"author\":{\"name\":\"Oliver K\u00f6hler\",\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/person\\\/cdf6ce448b7b97a74b3a4646c462a30f\"},\"headline\":\"Verwendung von Spring Boot zur Einrichtung eines REST-Anwendungsservers\",\"datePublished\":\"2025-08-18T07:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wata.es\\\/?p=12557\"},\"wordCount\":1793,\"publisher\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/?p=12557#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/rocket-DE-scaled.jpg\",\"articleSection\":[\"Neuigkeiten\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wata.es\\\/?p=12557\",\"url\":\"https:\\\/\\\/wata.es\\\/?p=12557\",\"name\":\"Verwendung von Spring Boot zur Einrichtung eines REST-Anwendungsservers - WATA Factory\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wata.es\\\/?p=12557#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/?p=12557#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/rocket-DE-scaled.jpg\",\"datePublished\":\"2025-08-18T07:00:00+00:00\",\"description\":\"Erfahren Sie, wie Sie mit Spring Boot schnell und einfach REST-Server erstellen. Schritt-f\u00fcr-Schritt-Anleitung f\u00fcr Java-Entwickler. WATA Factory.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wata.es\\\/?p=12557#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wata.es\\\/?p=12557\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/wata.es\\\/?p=12557#primaryimage\",\"url\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/rocket-DE-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/rocket-DE-scaled.jpg\",\"width\":2560,\"height\":1440,\"caption\":\"Illustration einer Rakete, die kurz vor dem Start steht, mit dem Logo von WATA Factory, die den gut geplanten Beginn eines Softwareprojekts vor dem Entwicklungsstart darstellt.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wata.es\\\/?p=12557#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wata.es\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Verwendung von Spring Boot zur Einrichtung eines REST-Anwendungsservers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wata.es\\\/#website\",\"url\":\"https:\\\/\\\/wata.es\\\/\",\"name\":\"WATA Factory\",\"description\":\"IT Consulting &amp; Outsourcing for your company\",\"publisher\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wata.es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\",\"name\":\"WATA Factory\",\"url\":\"https:\\\/\\\/wata.es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/logowata.png\",\"contentUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/logowata.png\",\"width\":688,\"height\":176,\"caption\":\"WATA Factory\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/watafactory\\\/\",\"https:\\\/\\\/x.com\\\/watafactory\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/wata\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/person\\\/cdf6ce448b7b97a74b3a4646c462a30f\",\"name\":\"Oliver K\u00f6hler\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b87b0ffa05bc8b5e1baa4b56a7e476c9f521d3409650e28cb67696d0653e40cb?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b87b0ffa05bc8b5e1baa4b56a7e476c9f521d3409650e28cb67696d0653e40cb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b87b0ffa05bc8b5e1baa4b56a7e476c9f521d3409650e28cb67696d0653e40cb?s=96&d=mm&r=g\",\"caption\":\"Oliver K\u00f6hler\"},\"url\":\"https:\\\/\\\/wata.es\\\/de\\\/author\\\/o-koehler\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Verwendung von Spring Boot zur Einrichtung eines REST-Anwendungsservers - WATA Factory","description":"Erfahren Sie, wie Sie mit Spring Boot schnell und einfach REST-Server erstellen. Schritt-f\u00fcr-Schritt-Anleitung f\u00fcr Java-Entwickler. WATA Factory.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wata.es\/?p=12557","og_locale":"de_DE","og_type":"article","og_title":"Verwendung von Spring Boot zur Einrichtung eines REST-Anwendungsservers - WATA Factory","og_description":"Erfahren Sie, wie Sie mit Spring Boot schnell und einfach REST-Server erstellen. Schritt-f\u00fcr-Schritt-Anleitung f\u00fcr Java-Entwickler. WATA Factory.","og_url":"https:\/\/wata.es\/?p=12557","og_site_name":"WATA Factory","article_publisher":"https:\/\/www.facebook.com\/watafactory\/","article_published_time":"2025-08-18T07:00:00+00:00","og_image":[{"width":2560,"height":1440,"url":"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/rocket-DE-scaled.jpg","type":"image\/jpeg"}],"author":"Oliver K\u00f6hler","twitter_card":"summary_large_image","twitter_creator":"@watafactory","twitter_site":"@watafactory","twitter_misc":{"Verfasst von":"Oliver K\u00f6hler","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wata.es\/?p=12557#article","isPartOf":{"@id":"https:\/\/wata.es\/?p=12557"},"author":{"name":"Oliver K\u00f6hler","@id":"https:\/\/wata.es\/#\/schema\/person\/cdf6ce448b7b97a74b3a4646c462a30f"},"headline":"Verwendung von Spring Boot zur Einrichtung eines REST-Anwendungsservers","datePublished":"2025-08-18T07:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/wata.es\/?p=12557"},"wordCount":1793,"publisher":{"@id":"https:\/\/wata.es\/#organization"},"image":{"@id":"https:\/\/wata.es\/?p=12557#primaryimage"},"thumbnailUrl":"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/rocket-DE-scaled.jpg","articleSection":["Neuigkeiten"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/wata.es\/?p=12557","url":"https:\/\/wata.es\/?p=12557","name":"Verwendung von Spring Boot zur Einrichtung eines REST-Anwendungsservers - WATA Factory","isPartOf":{"@id":"https:\/\/wata.es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wata.es\/?p=12557#primaryimage"},"image":{"@id":"https:\/\/wata.es\/?p=12557#primaryimage"},"thumbnailUrl":"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/rocket-DE-scaled.jpg","datePublished":"2025-08-18T07:00:00+00:00","description":"Erfahren Sie, wie Sie mit Spring Boot schnell und einfach REST-Server erstellen. Schritt-f\u00fcr-Schritt-Anleitung f\u00fcr Java-Entwickler. WATA Factory.","breadcrumb":{"@id":"https:\/\/wata.es\/?p=12557#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wata.es\/?p=12557"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/wata.es\/?p=12557#primaryimage","url":"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/rocket-DE-scaled.jpg","contentUrl":"https:\/\/wata.es\/wp-content\/uploads\/2025\/06\/rocket-DE-scaled.jpg","width":2560,"height":1440,"caption":"Illustration einer Rakete, die kurz vor dem Start steht, mit dem Logo von WATA Factory, die den gut geplanten Beginn eines Softwareprojekts vor dem Entwicklungsstart darstellt."},{"@type":"BreadcrumbList","@id":"https:\/\/wata.es\/?p=12557#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wata.es\/de\/"},{"@type":"ListItem","position":2,"name":"Verwendung von Spring Boot zur Einrichtung eines REST-Anwendungsservers"}]},{"@type":"WebSite","@id":"https:\/\/wata.es\/#website","url":"https:\/\/wata.es\/","name":"WATA Factory","description":"IT Consulting &amp; Outsourcing for your company","publisher":{"@id":"https:\/\/wata.es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wata.es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/wata.es\/#organization","name":"WATA Factory","url":"https:\/\/wata.es\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/wata.es\/#\/schema\/logo\/image\/","url":"https:\/\/wata.es\/wp-content\/uploads\/2019\/12\/logowata.png","contentUrl":"https:\/\/wata.es\/wp-content\/uploads\/2019\/12\/logowata.png","width":688,"height":176,"caption":"WATA Factory"},"image":{"@id":"https:\/\/wata.es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/watafactory\/","https:\/\/x.com\/watafactory","https:\/\/www.linkedin.com\/company\/wata\/"]},{"@type":"Person","@id":"https:\/\/wata.es\/#\/schema\/person\/cdf6ce448b7b97a74b3a4646c462a30f","name":"Oliver K\u00f6hler","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/b87b0ffa05bc8b5e1baa4b56a7e476c9f521d3409650e28cb67696d0653e40cb?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b87b0ffa05bc8b5e1baa4b56a7e476c9f521d3409650e28cb67696d0653e40cb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b87b0ffa05bc8b5e1baa4b56a7e476c9f521d3409650e28cb67696d0653e40cb?s=96&d=mm&r=g","caption":"Oliver K\u00f6hler"},"url":"https:\/\/wata.es\/de\/author\/o-koehler\/"}]}},"_links":{"self":[{"href":"https:\/\/wata.es\/de\/wp-json\/wp\/v2\/posts\/12632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wata.es\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wata.es\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wata.es\/de\/wp-json\/wp\/v2\/users\/46"}],"replies":[{"embeddable":true,"href":"https:\/\/wata.es\/de\/wp-json\/wp\/v2\/comments?post=12632"}],"version-history":[{"count":5,"href":"https:\/\/wata.es\/de\/wp-json\/wp\/v2\/posts\/12632\/revisions"}],"predecessor-version":[{"id":12670,"href":"https:\/\/wata.es\/de\/wp-json\/wp\/v2\/posts\/12632\/revisions\/12670"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wata.es\/de\/wp-json\/wp\/v2\/media\/12588"}],"wp:attachment":[{"href":"https:\/\/wata.es\/de\/wp-json\/wp\/v2\/media?parent=12632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wata.es\/de\/wp-json\/wp\/v2\/categories?post=12632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wata.es\/de\/wp-json\/wp\/v2\/tags?post=12632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}