[JAVA] Créons une API REST à l'aide de WildFly Swarm.

Ce que je veux faire cette fois

Je souhaite créer REST facilement.

Pourquoi WildFly Swarm

Puisqu'il était censé passer rapidement l'API créée et l'exécuter dans l'environnement de l'autre partie, je l'ai fait WildFly Swarm qui fonctionne si Java est inclus.

Environnement / version

WildFly-Swarm :2017.4.0 Environnement de développement: Eclipse Version Neon.3 Release (4.6.3) Java : version "1.8.0_131"

Procédure de mise en œuvre

Création de pom.xml

Il est créé sur la base de l'exemple de code dans l'URL de référence. J'ai utilisé JAX-RS parce que cela semblait être le plus simple.

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>

Mettre en œuvre l'application.

Décidez simplement du chemin racine de votre application.

MyApplication.java



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

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

Implémentez l'API.

Décrivez l'implémentation à l'aide de JAX-RX et le document de publication de l'API à l'aide de Swagger avec des annotations.

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.";
    }

}

Courir

mvn package

Lorsque Jar est créé et que JAR est exécuté, l'API sera en état de fonctionnement. Démarrez le navigateur, accédez à http: // localhost: 8080 / myapp / apipath, et si "This is test." Est sortie, c'est OK.

Ouvrez http: // localhost: 8080 / myapp / swagger pour voir la description de l'API.

URL de référence

JAX-RS .war With Swagger Enabled Example

Ceci et cela

Le pot fini est d'environ 50M. Je pense que c'est très pratique de pouvoir créer une API REST en un rien de temps. Cette fois, j'exécute l'exemple de code tel quel, donc j'aimerais l'utiliser après avoir un peu plus faim.

Recommended Posts

Créons une API REST à l'aide de WildFly Swarm.
Créer un service d'API RESTful à l'aide de Grape
Créer une loterie avec Ruby
Créons un système de téléchargement de fichiers à l'aide de l'API Azure Computer Vision et du SDK Java d'Azure Storage
[Android] Créer un calendrier à l'aide de GridView
Créer un projet Jetty à l'aide d'Eclipse
Créer un projet Tomcat à l'aide d'Eclipse
Créer un projet Java à l'aide d'Eclipse
Créer une fonction de filtrage en utilisant actes-as-taggable-on
Un moyen simple de créer une classe de mappage lors de l'utilisation de l'API
Créez rapidement un environnement Web à l'aide de Docker
Comment créer votre propre API headless à l'aide de REST Builder de Liferay (partie 3)
Comment créer votre propre API headless à l'aide de REST Builder de Liferay (partie 2)
Lorsque j'ai exécuté un pot créé à l'aide de WildFly Swarm, j'ai obtenu une InvocationTargetException.
Créons un environnement de développement Java (mise à jour)
Comment créer votre propre API headless à l'aide de REST Builder de Liferay (partie 4)
Comment créer votre propre API headless à l'aide de REST Builder de Liferay (partie 1)
Créez une fonction de connexion à l'aide de l'option Swift
Créer une API à l'aide de Retrofit2, Okhttp3 et Gson (Java)
[Android] Créer un menu coulissant sans utiliser la vue de navigation
Créez instantanément un environnement Privoxy + Tor à l'aide de Docker
Créons un processus chronométré avec la minuterie de Java! !!
[Rails] Comment créer un graphique à l'aide de lazy_high_charts
[Java] Créez quelque chose comme une API de recherche de produits
Faisons un site de shopping en utilisant Stripe! (Achat)
Créez une application Spring Boot à l'aide d'IntelliJ IDEA
Créer un onglet personnalisé avec SwiftUI 2.0
Créons un framework Web ultra-simple avec Java
[Java] Créons un Minecraft Mod 1.14.4 [Introduction]
[Java] Créons un Minecraft Mod 1.16.1 [Introduction]
[Java] Créons un Minecraft Mod 1.14.4 [99. Mod output]
Créer un serveur API Web avec Spring Boot
Essayez de rechercher un code postal avec l'API REST en utilisant SpringBoot, H2 DB et JPA REST-seulement 3 classes à créer-
Faisons JUnit.
[Java] Créons un Minecraft Mod 1.14.4 [0. Fichier de base]
Créez un environnement de développement Java à l'aide de jenv sur votre Mac
[Java] Créons un Minecraft Mod 1.14.4 [4. Ajouter des outils]
[Java] Créons un Minecraft Mod 1.14.4 [5. Ajouter une armure]
[Java] Créons un Minecraft Mod 1.14.4 [édition supplémentaire]
[Java] Créons un Minecraft Mod 1.14.4 [7. Add progress]
Faisons un pseudo modèle en utilisant active_hash ~ Prefectural data ~
[Java] Créons un Minecraft Mod 1.14.4 [6. Ajouter une recette]
[Java] Créons un Minecraft Mod 1.16.1 [Ajouter un élément]
[Java] Créons un Minecraft Mod 1.16.1 [Fichier de base]
S'il y a une transition d'état, créons une classe State
Créer un environnement de développement gcloud sur un conteneur centos8
Un mémorandum lors de la tentative de création d'une interface graphique à l'aide de JavaFX
Implémentez une API Rest simple avec Spring Security avec Spring Boot 2.0
[Java] Créons un Minecraft Mod 1.14.4 [1. Ajouter un élément]
[Java] Créons un Minecraft Mod 1.14.4 [2. Ajouter un bloc]
Créez un écran d'authentification de connexion à l'aide de la fonction de session
[Java] Créons un Minecraft Mod 1.16.1 [Ajouter un bloc]