问题标签 [nestjs-swagger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
3221 浏览

swagger - OpenAPI Swagger - 空值和可空参数

路径中的空值和可空参数(例如查询参数)如何记录在@nestjs/swagger中?在路由dto 类中使用或在生成的 swagger 中提示用户输入属性值。这很令人困惑,因为没有任何值要传递给这个查询参数。还尝试提供一个下拉列表,但不添加将在 swagger/oas3 中的复选框。metadataGET /foo?metadatareadonly metadata?: null;readonly metadata?: null;@Query()stringmetadata@ApiProperty({ required: false, default: true, nullable: true }) readonly metadata?: booleanSend empty value

在 Swagger/OAS3 中,这将被记录为:

这里的关键是属性allowEmptyValue。如何通过装饰器或类验证器allowEmptyValue装饰器在表示 dto 的 TypeScript 类中定义?看起来BaseParemeterObject具有属性,但是如何将其与单个查询 dto 参数属性一起使用?@Query()@nest/swaggerallowEmptyValue: boolean

更新:

我可以在如下ApiQuery()路线上使用装饰器来获得正确的功能:@Controller()

class但是我怎样才能在代表的 DTO中获得相同的功能Query()

0 投票
1 回答
1218 浏览

nestjs - Nestjs Config 访问引导级别的配置

根据此文档 ,您将配置导入 AppModule。
我正在尝试在我的 main.ts 文件中访问引导级别的配置。像这样的东西:

在这一点上我无权访问配置的问题,只有其他模块才能访问这样的配置:

我的问题:如何在引导级别访问“nestjs-config”

0 投票
1 回答
7808 浏览

typescript - 如果不单独使用,nestjs/swagger 是否支持查询参数的文档?

我定义了一个路由来在我的控制器中获取订单的分页结果。

但是我想要一些关于查询参数(类型OrderQueryDto & PaginatedQueryDto)的文档。我没有找到任何装饰器,它为嵌套 swagger 模块生成的 api 描述创建文档(和测试字段)。

我想我正在寻找类似的东西 @ApiImplicityQueryString({ type: OrderQueryDto & PaginatedQueryDto })

我知道有一种方法可以像这样记录它:

顺便说一句,DTO 看起来像这样

0 投票
1 回答
2265 浏览

swagger - Nestjs Swagger - 在不同的路线上发布不同的 API 文档

我正在构建一个具有公共 API 和内部 API 的应用程序。我想将这些文档发布到不同的路线。我认为这可以通过仅向文档(addTag)添加某些标签来完成,但在进一步阅读和实验之后,它并没有完成这项工作。

文档始终包含所有内容,所有模块的所有记录端点。

这甚至可能吗?如果是这样,怎么做?

我不相信代码是必要的,但 FWIW:

0 投票
0 回答
1176 浏览

css - NestjS - 在生产模式下找不到 Swagger ui css 资源

我正在开发一个nestjs项目,我已经添加了swagger来显示我的端点,它在开发模式下工作得很好,但是一旦使用https://zeit.co/(现在)部署到生产中,端点页面就不能正确显示(缺少css),我在网络选项卡中遇到了这个错误:

https://i.stack.imgur.com/T9IQv.png

谢谢。

0 投票
3 回答
9712 浏览

swagger - 如何在 swagger nestjs 中手动添加摘要和正文

我正在尝试在我的招摇文档路线中添加摘要,但我无法找到合适的装饰器来定义摘要。

有些路线我没有指定任何 DTO。因此,我想为该端点手动添加请求正文。

用户控制器.ts

昂首阔步

身份验证控制器.ts

0 投票
2 回答
4733 浏览

node.js - 如何使用 nestjs/swagger 更改查询参数序列化?

最近我将nestjs/swagger项目中的包更新为^4.0.0. 之前 Swagger 将我的查询参数序列化如下:

现在看起来像这样:

我的查询的 DTO 对象如下所示:

我怎样才能改变这种行为?

0 投票
0 回答
202 浏览

typescript - Nestjs Swagger - import types wrong node module

I have a package A that exports some types and functions and a package B that use package A as a dependency and export also other types and functions.

I import package A and package B in a package C as dependencies. When I use a type from package A, I use the new nestjs swagger plugin for api documentation, but the types of package A are imported from ./packageB/node_modules/packageA and not directly from package A.

Does anyone know why ?

PS: I am using lerna and packages A, B and C are in the same repository. It looks like the preserveSymlinks option in tsconfig.json has some effect but when I turn it off, the import package is the relative path ('../../../../../packageA' and not 'packageA')

0 投票
1 回答
3640 浏览

swagger - 在 Nest.js 项目中添加 Swagger 基本路径字段

我正在尝试使用 nestjs/swagger 从我的后端创建一个 swagger 文件,但我遇到了与基本路径相关的问题。我想要实现的是将版本显示为基本路径,而不是在所有可用的方法中显示它,这既丑陋又令人困惑。

现在,我的 API 具有以下结构(这是 中存在的一组内容app.module.ts):

这样,一旦我生成并检查了招摇,我就会看到我所有的方法都跟在/api/v1前缀后面。这可能是一个例子:

订单

用户

我想要的是摆脱/api/v1以任何方式出现。我知道 SWAGGER 有 和 的字段hostbasePath但没有找到任何方法在 Nest.js 中填充它。研究,我发现有一些方法.setBasePath().addServer()但它们对我不起作用(我很确定它们已被弃用)。

非常感谢您的帮助。

0 投票
2 回答
3899 浏览

nestjs - 如何使用 DTO 将响应设置为招摇响应中的数组

一些dto.ts

我不想要这样的回应:

但我的响应必须是类似 dto 对象的数组。我想要smth like soo