đ Comment dĂ©marrer
Ce plugin peut ĂȘtre utilisĂ© de deux maniĂšres diffĂ©rentes, selon vos besoins :
Mode ligne de commande : La façon la plus rapide de dĂ©couvrir ce plugin est de lâinvoquer directement depuis la ligne de commande.
Ce mode est idĂ©al pour tester rapidement si le plugin sâintĂšgre correctement Ă votre projet.
Il nâoffre cependant que des possibilitĂ©s limitĂ©es de configuration.
Pour une personnalisation complÚte et une utilisation plus fluide, il est recommandé de configurer le plugin directement dans votre pom.xml
.
Configuration via le pom.xml : DĂ©finir le plugin directement dans votre pom.xml est lâapproche la plus courante et la plus pratique pour une utilisation quotidienne. Cette mĂ©thode offre un ensemble complet dâoptions de configuration, ce qui facilite lâadaptation du plugin aux besoins de votre projet.
⥠Ligne de commandeâ
La façon la plus rapide de gĂ©nĂ©rer une documentation est dâinvoquer directement le plugin via la ligne de commande :
mvn clean compile io.github.kbuntrock:openapi-maven-plugin:0.0.26:documentation \
"-Dmaven.compiler.parameters=true" \
"-Dopenapi.library=SPRING_MVC" \
"-Dopenapi.tagAnnotations=RequestMapping" \
"-Dopenapi.locations=your.base.package"
đ DĂ©composition de la commande :
clean compile "-Dmaven.compiler.parameters=true"
:
Nettoie les sorties de build précédentes et recompile le projet en conservant les noms des paramÚtres (nécessaire pour la réflexion).-Dopenapi.library=SPRING_MVC
:
Spécifie le framework que vous utilisez. Valeurs possibles :SPRING_MVC
(par défaut)JAKARTA_RS
JAVAX_RS
-Dopenapi.locations=your.base.package
:
Définit les packages à scanner pour détecter les endpoints REST.- Obligatoire pour des raisons de performance.
- Plusieurs packages peuvent ĂȘtre fournis, sĂ©parĂ©s par des virgules (ex. -Dopenapi.locations=pkgone,pkgtwo).
-Dopenapi.tagAnnotations=RequestMapping
:
SpĂ©cifie quelle annotation doit ĂȘtre utilisĂ©e pour dĂ©tecter les endpoints. Cette propriĂ©tĂ© peut ĂȘtre omise si vous nâutilisez pas Spring.
Valeurs possibles :RestController
(par défaut)RequestMapping
Une liste détaillée des paramÚtres disponibles est documentée ici
Le mode ligne de commande est idĂ©al pour tester rapidement si le plugin sâintĂšgre correctement Ă votre projet.
Cependant, il offre des possibilités de configuration limitées. Pour une personnalisation complÚte et un usage simplifié, il est recommandé de configurer le plugin directement dans votre pom.xml
(voir la section suivante).
đ Configuration de votre pom.xmlâ
Pour commencer, il est nécessaire de configurer votre build Maven afin de conserver les noms des paramÚtres des méthodes Java.
Sans cette étape, les paramÚtres apparaßtront dans la documentation sous forme de arg0
, arg1
, etc.
- Activer la conservation des noms de paramĂštres lors de la compilation
Ajoutez la configuration suivante au plugin maven-compiler-plugin
dans la section <plugins>
de votre:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<!-- Potentiellement à adapter pour rester sur la version déjà utilisée par votre projet -->
<version>3.14.0</version>
<configuration>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
- Configurer l'OpenAPI Maven Plugin
Ensuite, ajoutez le plugin openapi-maven-plugin Ă votre pom.xml
et adaptez la configuration en fonction de vos besoins (consultez la documentation détaillée pour voir toutes les options disponibles):
<!-- Déclaration du plugin -->
<plugin>
<groupId>io.github.kbuntrock</groupId>
<artifactId>openapi-maven-plugin</artifactId>
<version>0.0.26</version>
<executions>
<execution>
<id>documentation</id>
<goals>
<goal>documentation</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- Cette section dĂ©fini des configurations 'gĂ©nĂ©rales', qui peuvent ĂȘtre surchargĂ©es pour chaque document gĂ©nĂ©rĂ©. -->
<apiConfiguration>
<library>SPRING_MVC</library> <!-- Valeur par dĂ©faut, la balise peut ĂȘtre supprimĂ©e en l'Ă©tat -->
<tagAnnotations> <!-- Balise uniquement utile pour Spring MVC -->
<!-- RestController est la valeur par dĂ©faut mais peut ĂȘtre remplacĂ©e par RequestMapping -->
<annotation>RestController</annotation>
</tagAnnotations>
</apiConfiguration>
<!-- Cette section indique quels sont les rĂ©pertoires dans lesquelles les fichiers de code sources devront ĂȘtre lus afin d'en extraire la javadoc -->
<javadocConfiguration>
<scanLocations>
<!-- D'autres balises 'location' peuvent ĂȘtre ajoutĂ©es afin de rĂ©fĂ©rencer de la javadoc prĂ©sente dans d'autres modules. -->
<!-- Le chemin est relatif au répertoire du projet. -->
<location>src/main/java</location>
</scanLocations>
</javadocConfiguration>
<!-- Cette section définie enfin une liste de documents à générer. Dans cet exemple, un seul est généré, avec la configuration par défaut. -->
<apis>
<api>
<!-- Pour chaque api (= document) généré, on indique quels sont les packages / noms de classe complets à scanner -->
<locations>
<!-- Remplacer ici le nom de package pour correspondre Ă votre projet. -->
<location>io.github.kbuntrock.sample.endpoint</location>
</locations>
</api>
</apis>
</configuration>
</plugin>
- Générer la documentation
Exécutez la commande suivante : mvn compile
La spécification OpenAPI sera générée dans le fichier : target/spec-open-api.yml
Si vous lancez ensuite la phase install : mvn install
La spécification générée sera également installée dans votre dépÎt Maven local comme un artefact, avec un classifier basé sur le nom de fichier.