招摇的清单API for Worknik

我使用了swagger-express npm模块来configuration与我的服务器平行的api文档,以便帮助开发人员跟踪所有的apis。

我有什么文件夹结构是

 / /api swagger/ swagger.json swagger.yml /swagger /*Having all the index file and configs as given their like public dir*/ 

我的中间件configuration就是这样的

 var swagger = require('swagger-express'); app.use(swagger.init(app, { apiVersion : '1.0', swaggerVersion: '1.0', swaggerURL : '/swagger', swaggerJSON : 'api/swagger/swagger.json', swaggerUI : './swagger/', basePath : 'http://localhost:1222', info : { title : 'swagger-express sample app', description: 'Swagger + Express = {swagger-express}' }, apis : ['api/swagger/swagger.yml'], middleware : function (req, res) {} })); 

我的服务器运行在端口1222 。 现在,虽然SwaggerUI已经成功加载,但它从wordnik的域中读取api。

  1. 它将如何从我的swagger.yml读取apis
  2. 如果我提到swagger.yml那么swagger.yml的相关性和用法是swagger.json
  3. 什么是SwaggerUI中的discoverURL? 如果我提到我的JSONpath( http://localhost:1222/swagger/ ),它以“discoveryUrl basePath必须是URL”之类的错误结束。

是他们的任何方式我可以列出所有apis并行服务器? 所以它可以被testing以及? 我想要大招。

嘿,试试这个https://www.npmjs.com/package/hapi-swagger

npm安装hapi-swagger – 保存

npm安装惰性 – 保存

npm安装愿景 – 保存

 const Hapi = require('hapi'); const Inert = require('inert'); const Vision = require('vision'); const HapiSwagger = require('hapi-swagger'); const Pack = require('./package'); const server = new Hapi.Server(); server.connection({ host: 'localhost', port: 3000 }); const options = { info: { 'title': 'Test API Documentation', 'version': Pack.version, } }; server.register([ Inert, Vision, { 'register': HapiSwagger, 'options': options }], (err) => { server.start( (err) => { if (err) { console.log(err); } else { console.log('Server running at:', server.info.uri); } }); }); server.route(Routes);