Swagger-ui不适用于Restify,但适用于Express

时间:2019-02-21 12:51:04

标签: node.js express swagger swagger-ui restify

我正在努力为节点再调整API创建庞大的文档,但是没有用。任何人都可以帮我弄清楚为什么发生这种情况。 我的代码如下

app.js

    require('dotenv').config();
    var restify = require('restify');
    var corsMiddleware = require('restify-cors-middleware');
    var swaggerOption=require('./app/swagger/swagger.js');
    const swaggerUi = require('swagger-ui-restify');
    const swaggerJSDoc = require('swagger-jsdoc');
    const swaggerSpec = swaggerJSDoc(swaggerOption.options);
    var cors = corsMiddleware({
            preflightMaxAge: 5,
            origins: ['*'],
            allowHeaders:['X-App-Version'],
            exposeHeaders:[]
          });
    /**
     * Initialize Server
     */
     var server = restify.createServer();

    server.pre(cors.preflight);
    server.use(cors.actual);
    server.use(restify.plugins.acceptParser(server.acceptable));
    server.use(restify.plugins.queryParser({ mapParams: true }));
    server.use(restify.plugins.bodyParser());
    server.get('/docs',swaggerUi.serve, swaggerUi.setup(swaggerSpec))
    server.get('/api-docs',swaggerUi.serve, swaggerUi.setup(swaggerSpec))

    server.listen(8080, function () {
      console.log('%s listening at %s', server.name, server.url);
    });

在我的 swagger.js 文件中,它包含swagger ui的options对象,并与swagger jsdoc一起使用。 碰到这个网址时,我正在跟踪错误
 http://localhost:8080/api-docs

 Error: ENOENT: no such file or directory, stat '/var/www/html/projects/User-Workspace/node_modules/swagger-ui-restify/static/api-docs

有人可以帮我吗..谢谢

0 个答案:

没有答案