REST-API  -  Webservice in einer Maven WebApp

Hier erfährst Du, wie man in einer Maven-WebApp eine REST-API implementiert, welche POM-Einträge man benötigt (z. B. Dependencies, Build) und wie man Swagger als API-Dokumentation einbindet.

Lesenswert:

+Was ist eine REST-API und was ist REST
+RestEasy
+Swagger - API Documentation

Du hast eine Web-App und möchtest eine REST-API zur Verfügung stellen?

Du stellst Dir die Frage, welche POM-Einträge man benötigt, wie man ein Java-Resource erstellt und dazu die API-Dokumentation bereitstellt? Die Antwort findest Du in folgender Gliederung.

+RestEasy einbinden
+Swagger einbinden
+Java-Resource Aufbau

Wichtig:

Das Beispiel auf dieser Webseite geht von folgender Voraussetzung aus:

-Die WebApp läuft auf einem Tomcat 8.5
- WELD POM-Einträge

<weld.version>3.1.9.Final</weld.version>
<cdi.api.version>2.0.SP1</cdi.api.version>

<dependency>
    <groupId>org.jboss.weld.servlet</groupId>
    <artifactId>weld-servlet-core</artifactId>
    <version>${weld.version}</version>
</dependency>

<dependency>
    <groupId>org.jboss.weld</groupId>
    <artifactId>weld-core-impl</artifactId>
    <version>${weld.version}</version>
</dependency>

<dependency>
    <groupId>javax.enterprise</groupId>
    <artifactId>cdi-api</artifactId>
    <version>${cdi.api.version}</version>
    <scope>provided</scope>
</dependency>
- RestEasy und Swagger haben teils identische Abhängigkeiten, die sie nachziehen, aber in unterschiedlichen Versionen. Damit das zusammenspielt, sind die Versionen in der POM von Bedeutung!

Stichwort: jackson-*