如何使用swagger-ui模块在我的MEAN堆栈项目中显示Swagger JSON文件?
我是NodeJS和AngularJS的新手,所以我可能会接近完全错误,但值得问…
我正在尝试使用swagger-ui Node模块以交互式的Swagger-ish风格显示我的API文档。
我想在我的NodeJS应用程序中通过传入我自己的Swagger JSON文件(在public/assets/my-swagger.json
)执行此操作。
我假设我可以做这样的事情:
angular.module('SwaggerCtrl', []).controller('SwaggerController', function($scope) { $scope.swagger = new function() { var swaggerUi = new SwaggerUi({ url: '../../assets/my-swagger.json', dom_id: "swagger-ui-container" }); swaggerUi.load(); }; });
从https://www.npmjs.com/package/swagger-ui#swaggerui取得 。
然后在我的swagger.html
我会做这样的事情:
<div class="jumbotron text-center"> <h1>Swagger</h1> <p>{{ swagger }}</p> <div id="swagger-ui-container"></div> </div>
但是,当我去http:// localhost:8080 / swagger ,我得到ReferenceError: SwaggerUi is not defined
我的控制台上ReferenceError: SwaggerUi is not defined
错误信息。
我试图找出如何调用swaggerUi.load()
以便当用户转到http:// localhost:8080 / swagger时加载my-swagger.json
文件。
我也查看了https://www.npmjs.com/package/swagger-ui-middleware,但它正在加载在node_modules/swagger-ui/dist
目录中find的默认Petstore API。
我也是新手,并使用了这两个模块:swagger-jsdoc(它会根据您的node.js文件中的注释生成swagger.json,并使用swagger-ui-express显示信息。
稍后看看doc,你可能会find你的问题的答案。