Génération OpenAPI
ts
import { createHub, routeStore } from "@duplojs/http";
import { createHttpServer } from "@duplojs/http/node";
import { openApiGeneratorPlugin } from "@duplojs/http/openApiGenerator";
const hub = createHub({ environment: "DEV" })
.register(routeStore.getAll())
.plug(
openApiGeneratorPlugin({
outputFile: "swagger.json",
routePath: "/swagger-ui",
}),
);
await createHttpServer(
hub,
{
host: "localhost",
port: 1506,
},
);Pour générer la configuration Swagger de toutes vos routes, il suffit d'utiliser la fonction openApiGeneratorPlugin de @duplojs/http/openApiGenerator dans le Hub, puis de démarrer avec la variable d'environnement définie sur DEV ou BUILD.
- Le paramètre
outputFilevous permet de définir dans quel fichier sera écrite la configuration. - Le paramètre
routePathvous permet de définir à quel chemin l'interface Swagger UI sera accessible. ...Le reste des paramètres permet de définir des options pour le fichier de configuration Swagger.
WARNING
Vous devez disposer d'une implémentation de serveur HTTP, car le plugin se branche sur le hook beforeServerBuildRoutes, qui ne se lance qu'au travers de fonctions d'interface comme createHttpServer. Démarrez avec un Hub configuré en mode BUILD pour éviter de lancer le serveur HTTP.
