Outil de génération de WADL
y a-t-il un outil qui prend un fichier Java et qui décrit un service REST comme un paramètre et génère un fichier wadl à partir de celui-ci.
2 réponses
j'ai eu le même problème: j'utilisais RESTeasy et je voulais trouver un moyen de générer le WADL automatiquement.
Fait quelques recherches et est venu à la solution ci-dessous.
1. Ajoutez ceci à votre 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>
faites attention à la buildUri
et packagesResourceConfig
éléments. Vous devez les Modifier pour refléter la configuration de votre projet. Vous pouvez également vouloir modifier la version du plugin (j'ai utilisé 1.17).
2. Créer un dossier doc et en ajouter fichier.
Créer src/main/doc/
et créer les deux fichiers ci-dessous.
Fichier: demande-doc.xml
Contenu:
<?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>
Fichier: demande-grammaires.xml
Contenu:
<?xml version="1.0" encoding="UTF-8" ?>
<grammars xmlns="http://wadl.dev.java.net/2009/02" />
3. Exécutez la commande maven.
Allez dans le dossier du projet et exécutez la commande suivante:
$ mvn compile com.sun.jersey.contribs:maven-wadl-plugin:generate
Les fichiers \target\classes\application.wadl
(le WADL lui-même) et \target\classes\xsd0.xsd
(le schéma de ressources - il est utilisé par l'application.wadl) doit être généré.
éditez et utilisez-les comme vous le souhaitez.
PS.: Gardez à l'esprit que c'est une utilisation très simple du Maven-WADL-plugin. Il peut faire beaucoup plus. Pour mieux le connaître, reportez-vous au fichier zip mentionné dans l'autre réponse (de Pavel Bucek).
Oui, veuillez voir gerenate-wadl [1] de l'échantillon à partir de Jersey échantillons (cherchez maven-wadl-plugin).