38 行
920 B
JavaScript
38 行
920 B
JavaScript
const fp = require("fastify-plugin");
|
|
const fastifySwagger = require("@fastify/swagger");
|
|
const fastifySwaggerUi = require("@fastify/swagger-ui");
|
|
const pkg = require("../../package.json");
|
|
|
|
async function swaggerPlugin(fastify) {
|
|
await fastify.register(fastifySwagger, {
|
|
openapi: {
|
|
openapi: "3.0.3",
|
|
info: {
|
|
title: "hyb-oa API",
|
|
description: "hyb-oa 后端接口文档(治理链路优先)",
|
|
version: pkg.version,
|
|
},
|
|
components: {
|
|
securitySchemes: {
|
|
bearerAuth: {
|
|
type: "http",
|
|
scheme: "bearer",
|
|
bearerFormat: "JWT",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
await fastify.register(fastifySwaggerUi, {
|
|
routePrefix: "/api/docs",
|
|
staticCSP: true,
|
|
uiConfig: {
|
|
docExpansion: "list",
|
|
deepLinking: false,
|
|
},
|
|
});
|
|
}
|
|
|
|
module.exports = fp(swaggerPlugin, { name: "swagger-docs" });
|