我目前正在NestJS中学习自己的方法。现在,我正在尝试Swagger功能。我按照NestJS网站上的说明进行操作,并显示了一个漂亮的Swagger页面。但是,现在我不再能够使用控制器路径。
示例:
我有一个路径/api/users
,它将返回用户记录列表。添加Swagger功能后,我在/api
上获得了Swagger UI。当我尝试请求/api/users
时,我也获得了醒目的UI,这次是空的。
当我单击“用户” API的“试用”按钮时,将执行/users
而不是/api/users
,当然会有404响应。
我在做什么错?请帮忙。
答案 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;
}