项目地址: https://github.com/swagger-api/swagger-node
官方文档: https://github.com/swagger-api/swagger-node/tree/master/docs
非常重要的官方文档(如: default.yaml的配置)
https://github.com/apigee-127/swagger-node-runner/releases/tag/v0.6.0
必须要配置_swagger_params_parser不然连req.body都取不到.
npm i -g swagger
swagger project create hello-world
swagger project start
swagger project edit
但是这个swagger project edit打开的界面特别LOW且buggy, 我是直接到这里去编辑yaml文件: http://editor.swagger.io
使用swagger命令生成的项目结构:

测试: http://127.0.0.1:10010/hello?name=Scott
内置的swagger-express-mw还是0.1.0版本, editor界面十分之丑陋.
可以将其升级到swagger-express-mw到0.7.0:
详见: https://github.com/swagger-api/swagger-node/issues/551
0.7.0不再自带swagger-tools需要单独安装
在app.js中
const SwaggerUi = require("swagger-tools/middleware/swagger-ui");
swaggerExpress.register(app);
let defaultOptions = {
apiDocs: "/xxxxx/api-docs",
swaggerUi: "/xxxxx/docs"
};
if (isDev) {
app.use(SwaggerUi(swaggerExpress.runner.swagger, defaultOptions));
let swaggerUiURL = `http://localhost:${port}${defaultOptions.swaggerUi}`;
logger.info(`Swagger UI is available at:\n${swaggerUiURL}`);
}
OpenAPI specification(v2 / v3)
https://swagger.io/resources/open-api/
See swagger and OpenAPI in general #167
swagger project edit会打开chrome browser在线编辑yaml文件, 这个文件和项目中的api/swagger/swagger.yaml是同步变化的.
x-swagger-router-controller指定使用api/controllers/下的哪个文件处理请求
operationId 指定应该调用controller中的哪个方法
https://stackoverflow.com/questions/48111459/how-to-define-a-property-that-can-be-string-or-null-in-openapi-swagger
项目地址: https://github.com/swagger-api/swagger-node
官方文档: https://github.com/swagger-api/swagger-node/tree/master/docs
非常重要的官方文档(如: default.yaml的配置)
https://github.com/apigee-127/swagger-node-runner/releases/tag/v0.6.0
必须要配置
_swagger_params_parser不然连req.body都取不到.但是这个swagger project edit打开的界面特别LOW且buggy, 我是直接到这里去编辑yaml文件: http://editor.swagger.io
使用swagger命令生成的项目结构:

测试: http://127.0.0.1:10010/hello?name=Scott
内置的swagger-express-mw还是0.1.0版本, editor界面十分之丑陋.
可以将其升级到swagger-express-mw到
0.7.0:详见:
https://github.com/swagger-api/swagger-node/issues/5510.7.0不再自带swagger-tools需要单独安装
在app.js中
OpenAPI specification(v2 / v3)
https://swagger.io/resources/open-api/
See swagger and OpenAPI in general #167
swagger project edit会打开chrome browser在线编辑yaml文件, 这个文件和项目中的
api/swagger/swagger.yaml是同步变化的.x-swagger-router-controller指定使用api/controllers/下的哪个文件处理请求operationId指定应该调用controller中的哪个方法https://stackoverflow.com/questions/48111459/how-to-define-a-property-that-can-be-string-or-null-in-openapi-swagger