[JAVA] Erstellen wir eine REST-API mit WildFly Swarm.

Was ich diesmal machen möchte

Ich möchte REST einfach erstellen.

Warum WildFly Swarm?

Da es die erstellte API schnell übergeben und in der Umgebung der anderen Partei ausführen sollte, habe ich es zu WildFly Swarm gemacht, das funktioniert, wenn Java enthalten ist.

Umgebung / Version

WildFly-Swarm :2017.4.0 Entwicklungsumgebung: Eclipse Version Neon.3 Release (4.6.3) Java : version "1.8.0_131"

Implementierungsverfahren

Pom.xml erstellen

Es wird basierend auf dem Beispielcode in der Referenz-URL erstellt. Ich habe JAX-RS verwendet, weil es am einfachsten zu sein schien.

pom.xml


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>GID</groupId>
  <artifactId>AID</artifactId>
  <name>NAME</name>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <properties>
    <version.wildfly.swarm>2017.4.0</version.wildfly.swarm>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <failOnMissingWebXml>false</failOnMissingWebXml>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.wildfly.swarm</groupId>
        <artifactId>bom-all</artifactId>
        <version>${version.wildfly.swarm}</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <finalName>FNAME</finalName>
    <plugins>
      <plugin>
        <groupId>org.wildfly.swarm</groupId>
        <artifactId>wildfly-swarm-plugin</artifactId>
        <version>${version.wildfly.swarm}</version>

        <executions>
          <execution>
            <goals>
              <goal>package</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <!-- Java EE 7 dependency -->
    <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
    </dependency>
    <!-- WildFly Swarm Fractions -->
    <dependency>
      <groupId>org.wildfly.swarm</groupId>
      <artifactId>swagger</artifactId>
    </dependency>
    <dependency>
      <groupId>org.wildfly.swarm</groupId>
      <artifactId>jaxrs</artifactId>
    </dependency>
  </dependencies>
</project>

Anwendung implementieren.

Entscheiden Sie einfach den Stammpfad Ihrer Anwendung.

MyApplication.java



import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("/myapp")
public class MyApplication extends Application{
    public MyApplication() {
    }
}

Implementieren Sie die API.

Beschreiben der Implementierung mit JAX-RX und des Dokuments zum Veröffentlichen der API mit Swagger mit Anmerkungen.

MyApi.java



import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

@Path("/apipath")
@Api(value = "/", tags = "tag")
public class MyApi {

    @GET
    @Produces("text/plain")
    @ApiOperation(value = "Sample",
            notes = "This is sample.",
            response = String.class
    )
    public String get() {
        return "This is test.";
    }

}

Lauf

mvn package

Wenn Jar erstellt und JAR ausgeführt wird, befindet sich die API in einem funktionierenden Zustand. Starten Sie den Browser, greifen Sie auf http: // localhost: 8080 / myapp / apipath zu, und wenn "Dies ist ein Test" ausgegeben wird, ist dies in Ordnung.

Öffnen Sie http: // localhost: 8080 / myapp / swagger, um die API-Beschreibung anzuzeigen.

Referenz-URL

JAX-RS .war With Swagger Enabled Example

Dies und das

Das fertige Glas ist ungefähr 50M. Ich finde es sehr praktisch, in kürzester Zeit eine REST-API erstellen zu können. Dieses Mal führe ich den Beispielcode so aus, wie er ist, also möchte ich ihn verwenden, nachdem ich in mir selbst hungrig geworden bin.

Recommended Posts

Erstellen wir eine REST-API mit WildFly Swarm.
Erstellen Sie mit Grape einen RESTful-API-Service
Erstellen Sie eine Lotterie mit Ruby
Erstellen wir ein Datei-Upload-System mit der Azure Computer Vision-API und dem Java SDK von Azure Storage
[Android] Erstellen Sie einen Kalender mit GridView
Erstellen Sie mit Eclipse ein Jetty-Projekt
Erstellen Sie ein Tomcat-Projekt mit Eclipse
Erstellen Sie ein Java-Projekt mit Eclipse
Erstellen Sie eine Filterfunktion mit Acts-as-Taggable-On
Einfache Möglichkeit zum Erstellen einer Zuordnungsklasse bei Verwendung der API
Erstellen Sie mit Docker schnell eine Webumgebung
So erstellen Sie Ihre eigene kopflose API mit Liferays REST Builder (Teil 3)
So erstellen Sie Ihre eigene kopflose API mit Liferays REST Builder (Teil 2)
Als ich ein mit WildFly Swarm erstelltes Glas ausführte, erhielt ich eine InvocationTargetException.
Lassen Sie uns eine Java-Entwicklungsumgebung erstellen (Aktualisierung)
So erstellen Sie Ihre eigene kopflose API mit Liferays REST Builder (Teil 4)
So erstellen Sie Ihre eigene kopflose API mit Liferays REST Builder (Teil 1)
Erstellen Sie eine Anmeldefunktion mit Swift's Optional
Erstellen Sie eine API mit Retrofit2, Okhttp3 und Gson (Java).
[Android] Erstellen Sie ein Schiebemenü ohne Verwendung der Navigationsansicht
Erstellen Sie mit Docker sofort eine Privoxy + Tor-Umgebung
Lassen Sie uns mit Javas Timer einen zeitgesteuerten Prozess erstellen! !!
[Rails] So erstellen Sie ein Diagramm mit lazy_high_charts
[Java] Erstellen Sie so etwas wie eine Produktsuch-API
Machen wir eine Shopping-Site mit Streifen! (Kauf)
Erstellen Sie eine Spring Boot-Anwendung mit IntelliJ IDEA
Erstellen Sie mit SwiftUI 2.0 eine benutzerdefinierte Registerkartenansicht
Lassen Sie uns mit Java ein supereinfaches Webframework erstellen
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [Einführung]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Einführung]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [99. Mod-Ausgabe]
Erstellen Sie einen Web-API-Server mit Spring Boot
Versuchen Sie, mit der REST-API nach einer Postleitzahl zu suchen, indem Sie die Klassen SpringBoot, H2 DB und JPA REST-Only 3 erstellen.
Lass uns JUnit machen.
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [0. Basisdatei]
Erstellen Sie eine Java-Entwicklungsumgebung mit jenv auf Ihrem Mac
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [4. Tools hinzufügen]
[Java] Lass uns einen Minecraft Mod 1.14.4 erstellen [5. Rüstung hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [Extra Edition]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [7. Fortschritt hinzufügen]
Lassen Sie uns ein Pseudomodell mit active_hash ~ Präfekturdaten ~ erstellen
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [6. Rezept hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Element hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Basisdatei]
Wenn es einen Statusübergang gibt, erstellen wir eine Statusklasse
Erstellen Sie eine gcloud-Entwicklungsumgebung auf einem centos8-Container
Ein Memorandum beim Versuch, eine GUI mit JavaFX zu erstellen
Implementieren Sie eine einfache Rest-API mit Spring Security mit Spring Boot 2.0
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [1. Element hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [2. Fügen Sie einen Block hinzu]
Erstellen Sie mit der Sitzungsfunktion einen Anmeldeauthentifizierungsbildschirm
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Block hinzufügen]