Je souhaite créer REST facilement.
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.
WildFly-Swarm :2017.4.0 Environnement de développement: Eclipse Version Neon.3 Release (4.6.3) Java : version "1.8.0_131"
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>
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() {
}
}
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.";
}
}
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.
JAX-RS .war With Swagger Enabled Example
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