我正在尝试使用 swagger npm 包在我的节点应用程序之上设置 swagger。我的端点和招摇设置完美(至少几乎完美),我确实对出了什么问题做了很多研究,但我找不到踪迹。我的招摇设置文件:
const express = require('express');
const path = require('path');
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');
const swaggerJSDoc = require('swagger-jsdoc');
const swaggerUi = require('swagger-ui-express');
const abc= require('./routes/abc');
var app = express();
const swaggerDefinition = {
info: {
title: 'Analytics Project',
version: '1.0.0',
description: 'Analytics API swagger documentation'
}
};
const options = {
swaggerDefinition,
apis: ['./routes/abc.js']
};
const swaggerSpec = swaggerJSDoc(options);
var api = require('./routes/abc');
app.use('/', api);
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use('/api/v1/abc', abc);
app.use('/api/v1/abc/scatter', abc);
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec));
module.exports = app;
我的端点在 ./routes/abc.js 中定义:
var express = require('express');
var router = require('express').Router();
const request = require('request');
/**
* @swagger
* /:
* get:
* description: Endpoint for everything
*/
router.get('/', function(req, res, next) { //End point1
res.send('hello from dataservice');
});
/**
* @swagger
* /scatter:
* post:
* description: Endpoint for all variations of scatter plots
*/
router.post('/scatter', function(req, res, next) { //end point2
res.json({users: [{name: 'Timmy'}]});
});
module.exports = router;
我期待 2 个端点出现在页面上。但相反,我得到了“规范中没有定义的操作!” 错误。我错过了什么?任何帮助表示赞赏。