Swagger UI始终显示在NestJS中

时间:2019-04-27 18:02:45

标签: javascript node.js typescript swagger nestjs

我目前正在NestJS中学习自己的方法。现在,我正在尝试Swagger功能。我按照NestJS网站上的说明进行操作,并显示了一个漂亮的Swagger页面。但是,现在我不再能够使用控制器路径。

示例:
我有一个路径/api/users,它将返回用户记录列表。添加Swagger功能后,我在/api上获得了Swagger UI。当我尝试请求/api/users时,我也获得了醒目的UI,这次是空的。
当我单击“用户” API的“试用”按钮时,将执行/users而不是/api/users,当然会有404响应。

我在做什么错?请帮忙。

2 个答案:

答案 0 :(得分:2)

我假设您已将应用程序的全局前缀设置为/api。然后,您还必须相应地设置摇动的基本路径。另外,您应该将您的草率文档安装到未使用的路径:

// Set the global prefix for all controllers to /api
app.setGlobalPrefix('api');

const document = SwaggerModule.createDocument(
  app,
  new DocumentBuilder()
    // Set the base path for swagger accordingly
    .setBasePath('api')
    .build(),
);

// Choose an unused path to mount your swagger module
SwaggerModule.setup('docs', app, document);
//                  ^^^^^^

答案 1 :(得分:0)

我能够通过以下代码实现这一目标:

unsigned long long

setupSwagger定义:

#include <stdio.h>

unsigned long long ackermann(unsigned long long m, unsigned long long n) {
    if (m == 0) {
        return n + 1;
    }

    if (m > 0 && n == 0) {
        return ackermann(m - 1, 1);
    }

    return ackermann(m - 1, ackermann(m, n - 1));
}

int main() {
    unsigned long long result = ackermann(5, 0);
    printf("%llu\n", result);

    return 0;
}