[英]swagger listing api for worknik
我使用了swagger-express
npm模塊來與服務器並行配置api文檔,因此它可以幫助開發人員跟蹤所有api。
我的文件夾結構是
/
/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的域。
swagger.yml
讀取api swagger.yml
那么swagger.yml
的相關性和用途是swagger.json
discoverURL
是什么? 如果我要提及我的json路徑( http://localhost:1222/swagger/
),因為它的結尾以諸如“ discoveryUrl basePath必須是URL”之類的錯誤結尾。 他們有什么辦法可以列出與服務器並行的所有api嗎? 這樣也可以測試嗎? 我要招搖。
嘿,只是嘗試這個https://www.npmjs.com/package/hapi-swagger
npm安裝hapi-swagger --save
npm install inert --save
npm install vision-保存
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.