java - probar - WADL Generation Tool
wadl rest example (2)
¿Hay alguna herramienta que tome un archivo Java que describa un servicio REST como parámetro y genere un archivo wadl a partir de eso?
Tuve el mismo problema: estaba usando RESTeasy y quería encontrar una forma de generar WADL automáticamente.
Hice algunas investigaciones y llegó a la solución a continuación.
1. Agregue esto a su pom.xml
:
<build>
<plugins>
<plugin>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>maven-wadl-plugin</artifactId>
<version>1.17</version>
<executions>
<execution>
<id>generate</id>
<goals>
<goal>generate</goal>
</goals>
<phase>${javadoc-phase}</phase>
</execution>
</executions>
<configuration>
<wadlFile>${project.build.outputDirectory}/application.wadl
</wadlFile>
<formatWadlFile>true</formatWadlFile>
<baseUri>http://example.com:8080/rest</baseUri>
<packagesResourceConfig>
<param>com.example.rs.resource</param>
</packagesResourceConfig>
<wadlGenerators>
<wadlGeneratorDescription>
<className>com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc
</className>
<properties>
<property>
<name>applicationDocsFile</name>
<value>${basedir}/src/main/doc/application-doc.xml</value>
</property>
</properties>
</wadlGeneratorDescription>
<wadlGeneratorDescription>
<className>com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport
</className>
<properties>
<property>
<name>grammarsFile</name>
<value>${basedir}/src/main/doc/application-grammars.xml</value>
</property>
</properties>
</wadlGeneratorDescription>
</wadlGenerators>
</configuration>
</plugin>
</plugins>
</build>
Preste atención a los elementos buildUri
y packagesResourceConfig
. Tienes que cambiarlos para reflejar la configuración de tu proyecto. También es posible que desee cambiar la versión del complemento (utilicé 1.17).
2. Cree una carpeta / doc y agregue algunos archivos.
Crea la carpeta src/main/doc/
y crea los dos archivos a continuación.
Archivo: application-doc.xml
Contenido:
<?xml version="1.0" encoding="UTF-8"?>
<applicationDocs targetNamespace="http://wadl.dev.java.net/2009/02">
<doc xml:lang="en" title="A message in the WADL">This is added to the start of the generated application.wadl</doc>
</applicationDocs>
Archivo: application-grammars.xml
Contenido:
<?xml version="1.0" encoding="UTF-8" ?>
<grammars xmlns="http://wadl.dev.java.net/2009/02" />
3. Ejecute el comando maven.
Vaya a la carpeta del proyecto y ejecute el siguiente comando:
$ mvn compile com.sun.jersey.contribs:maven-wadl-plugin:generate
Se deben generar los archivos /target/classes/application.wadl
(el WADL mismo) y /target/classes/xsd0.xsd
(el esquema de los recursos - es utilizado por la aplicación.wadl).
Edítalos y úsalos como lo desees.
PD: tenga en cuenta que este es un uso muy simple del plugin maven-wadl. Puede hacer mucho más. Para conocerlo mejor, consulte el archivo comprimido mencionado en la otra respuesta (por Pavel Bucek).
Sí, consulte la muestra gerenate-wadl [1] de muestras de Jersey (busque maven-wadl-plugin).