如何将Swagger添加到现有的Node应用程序?

Swagger(https://github.com/swagger-api/swagger-node)的文档仅显示如何创建新应用。如何将Swagger集成到现有的API应用程序中?

wuboshuai2008 回答:如何将Swagger添加到现有的Node应用程序?

我遵循了本指南:https://blog.cloudboost.io/adding-swagger-to-existing-node-js-project-92a6624b855b

npm i swagger-ui-express -S

我使用Swagger编辑器创建了swagger.yml文件。 http://editor.swagger.io/

我将其添加到服务器中

var swaggerUi = require('swagger-ui-express')
var fs = require('fs')
var jsyaml = require('js-yaml');
var spec = fs.readFileSync('swagger.yml','utf8');
var swaggerDocument = jsyaml.safeLoad(spec);
...
app.use('/api-docs',swaggerUi.serve,swaggerUi.setup(swaggerDocument));

然后,我能够通过http://localhost/api-docs访问Swagger文档。

不幸的是,它与Swagger与Java中的Spring Boot的集成级别不同,您可以在其中添加注释,而Swagger会自动为您生成文档。 Swagger for Node似乎需要您手动维护swagger.yml文档。我的路由定义为app.use('/users',userRouter),在users.js文件中,函数定义为router.post('/status',(req,res) => { ... }。这似乎与Swagger for Node不兼容,后者具有operationId概念,该概念以某种方式指向函数名称。

本文链接:https://www.f2er.com/3148746.html

大家都在问