Hay una herramienta que toma un archivo Java que describe un servicio REST como parámetro y genera un archivo wadl de eso.WADL Generation Tool
Respuesta
que tenían el mismo problema: estaba usando RESTeasy y quería encontrar una manera de generar el WADL automáticamente.
Hicimos una investigación y llegamos a la solución a continuación.
1. Agregar 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>
Prestar 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.
del archivo: aplicación 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>
del archivo: aplicación grammars.xml
contenido:
<?xml version="1.0" encoding="UTF-8" ?>
<grammars xmlns="http://wadl.dev.java.net/2009/02" />
3. correr el comando maven.
Ir a la carpeta del proyecto y ejecute el siguiente comando:
$ mvn compile com.sun.jersey.contribs:maven-wadl-plugin:generate
Los archivos \target\classes\application.wadl
(el propio WADL) y \target\classes\xsd0.xsd
(el esquema de los recursos - que es utilizado por el application.wadl) debe ser generada .
Edítelos y úselos como desee.
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 gerenate-wadl [1] muestra de muestras de Jersey (busque maven-wadl-plugin).
- 1. Restful Client de WADL
- 2. C++ Code Generation
- 3. Extendiendo EF4 SQL Generation
- 4. Vim helptag generation
- 5. WSDL Generation Tools
- 6. Pruebas unitarias XML Generation
- 7. CSRF token generation
- 8. .NET generation 0 montón
- 9. php array generation challange
- 10. Haskell Random Generation
- 11. DynamicProxy Generation Speed
- 12. JAXB Bean Generation
- 13. Markov Chain Text Generation
- 14. Territory Map Generation
- 15. Galaxy Generation Algorithm
- 16. C# Code Generation
- 17. Git Commit Generation Numbers
- 18. ¿Por qué la captación lenta de WADL?
- 19. Cómo puedo generar WADL para servicios REST
- 20. C# Magic Wand Tool
- 21. Evidence Based Scheduling Tool
- 22. egit merge tool disabled
- 23. Tool to Map # include's
- 24. UI Testing Tool?
- 25. postgres diff tool
- 26. ASP.NET MVC ViewModel Auto Generation
- 27. Dynamic Audio Generation Actionscript 3
- 28. PDF Generation Library para Java
- 29. javadoc auto generation for intellij
- 30. PDF Generation usando C# .NET
La documentación es realmente deficiente. ¿Se supone 'packagesResourceConfig' en la ubicación de las clases con los puntos finales reales? – jiggy
@jiggy 'packagesResourceConfig' es el paquete java donde se encuentran las clases de recursos (servicios). – acdcjunior
¿Cómo se genera el xsd? Ninguno está siendo producido. – Grayson