2016-10-09 11 views
1

私はnpmモジュールを使用してapi-documentationをサーバと並列に設定していますので、devsがすべてのapiを追跡するのに役立ちます。私は、フォルダ構造を持っている何worknik用のapiをswaggerで一覧表示

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

私のミドルウエア構成は、この

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は正常に読み込まれますが、読み込みAPIはwordnikのドメインから読み込まれます。

  1. 私はswagger.ymlに言及していた場合はどのようにそれは私のswagger.yml
  2. からAPIを読んでいました、その後いただきました関連性とswagger.json
  3. SwaggerUIにdiscoverURL何であるのでしょうか?私がjsonパス(http://localhost:1222/swagger/)に言及していると、 'discoveryUrl basePathはURLでなければならない'のようなエラーで終了します。

私はサーバと並行してすべてのapiを一覧表示できますか?だからそれは同様にテストすることができますか?私は誇らしげにそれをしたい。

+0

--saveインストールビジョンを不活性--save

NPMをインストールしてみてください? –

答えて

1

wordnikは何ですかちょっとだけ

NPM --saveこのhttps://www.npmjs.com/package/hapi-swagger

NPMインストールHAPI-闊歩は

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); 
関連する問題