首页 文章

如何使用swagger-ui模块在我的MEAN堆栈项目中显示Swagger JSON文件?

提问于
浏览
2

我是NodeJS和AngularJS的新手,所以我可能会接近这个完全错误,但值得一提......

我正在尝试使用swagger-ui Node module以具有交互性的Swagger-ish样式显示我的API文档 .

我希望通过传入我自己的Swagger JSON文件(在 public/assets/my-swagger.json 中托管)在我的NodeJS应用程序中执行此操作 .

我假设我可以这样做:

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 错误消息 .

我正在试图找出如何调用 swaggerUi.load() 以便在用户转到http://localhost:8080/swagger时加载 my-swagger.json 文件 .

我还查看了https://www.npmjs.com/package/swagger-ui-middleware但它正在加载 node_modules/swagger-ui/dist 目录中的默认Petstore API .

1 回答

  • 0

    我也是新手,并使用了这两个模块:swagger-jsdoc(它从node.js文件中的注释生成swagger.json,并使用swagger-ui-express显示信息 .

    查看稍后的文档,您可能会找到问题的答案 .

相关问题