Dépannage
Vérifie successivement la configuration et la forme du code de support lorsque le fichier généré est absent ou que le route/type est manquant.
Ordre de vérification
• Vérifiez si @Profile("local") est inclus dans le profil d'exécution réel.
• Vérifiez qu'aucune exception n'est survenue lors de l'exécution de runner.start() dans la console locale.
• Vérifiez que rootPath, routerPackage, entityPackage, handlerOutputDir sont au bon emplacement après conversion dot/slash.
• Vérifiez que le répertoire source généré est inclus dans le set source de l'IDE et de l'outil de build.
• Ajoutez le type de module commun externe au classpath de décompilation jar ou source.
• Vérifiez que RouterFunction est sous forme de route/nest fluide et référence de méthode handler.
Chemin avec point et chemin avec barre oblique
La configuration normalise . en / pour plusieurs entrées de chemin. Bien que les chaînes de package et les chemins de système de fichiers puissent être mélangés, il est important de vérifier la différence entre une configuration qui inclut le chemin de sortie complet comme src.main.java.com.example... et une configuration qui n'inclut que le package com.example....
Reproduire la configuration des chemins
import com.byeolnaerim.watch.route.HandlerGenerator;
var handlerConfig = HandlerGenerator.Config.builder()
.rootPath("src/main/java")
.routerPackage("com.example.web.router")
.handlerPackage("com.example.web.handler")
.handlerOutputDir("src/main/java/com/example/web/handler")
.build();
System.out.println(handlerConfig.routerDir());
// src/main/java/com/example/web/router/Exécutez depuis la racine du projet et vérifiez que le routerDir affiché contient les sources du routeur. Inclure src/main/java dans routerPackage duplique le chemin. Transmettez cette configuration à handlerConfig du runner, puis utilisez le profil local de Quick Start. handlerPackage désigne le paquet Java ; handlerOutputDir est le répertoire de sortie réel.
test -d src/main/java/com/example/web/router
find src/main/java/com/example/web/handler -name '*.java'
# Quick Start swaggerOutputFile:
test -s src/main/resources/static/swagger.jsonSi les chemins sont corrects mais qu’aucun résultat n’est produit, commencez par la première exception de runner.start(). Reproduisez avec une route minimale utilisant une référence handler::method, inspectez les fichiers générés, puis ajoutez vos routes existantes. La présence de swagger.json ne suffit pas : comparez le chemin de requête et la méthode HTTP dans paths au contrat réel de réponse.
Régénération infinie
Le writer Swagger n'écrit le fichier que lorsque le contenu change. Si des générations répétées se produisent, vérifiez si le fichier de sortie est inclus dans watchDirectory et si un formatter ou un autre watcher modifie continuellement la source générée.