问题标签 [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.
swagger - OpenAPI Swagger - 空值和可空参数
路径中的空值和可空参数(例如查询参数)如何记录在@nestjs/swagger中?在路由dto 类中使用或在生成的 swagger 中提示用户输入属性值。这很令人困惑,因为没有任何值要传递给这个查询参数。还尝试提供一个下拉列表,但不添加将在 swagger/oas3 中的复选框。metadata
GET /foo?metadata
readonly metadata?: null;
readonly metadata?: null;
@Query()
string
metadata
@ApiProperty({ required: false, default: true, nullable: true }) readonly metadata?: boolean
Send empty value
在 Swagger/OAS3 中,这将被记录为:
这里的关键是属性allowEmptyValue
。如何通过装饰器或类验证器allowEmptyValue
装饰器在表示 dto 的 TypeScript 类中定义?看起来BaseParemeterObject具有属性,但是如何将其与单个查询 dto 参数属性一起使用?@Query()
@nest/swagger
allowEmptyValue: boolean
更新:
我可以在如下ApiQuery()
路线上使用装饰器来获得正确的功能:@Controller()
class
但是我怎样才能在代表的 DTO中获得相同的功能Query()
?
nestjs - Nestjs Config 访问引导级别的配置
根据此文档 ,您将配置导入 AppModule。
我正在尝试在我的 main.ts 文件中访问引导级别的配置。像这样的东西:
在这一点上我无权访问配置的问题,只有其他模块才能访问这样的配置:
我的问题:如何在引导级别访问“nestjs-config”
typescript - 如果不单独使用,nestjs/swagger 是否支持查询参数的文档?
我定义了一个路由来在我的控制器中获取订单的分页结果。
但是我想要一些关于查询参数(类型OrderQueryDto & PaginatedQueryDto
)的文档。我没有找到任何装饰器,它为嵌套 swagger 模块生成的 api 描述创建文档(和测试字段)。
我想我正在寻找类似的东西 @ApiImplicityQueryString({ type: OrderQueryDto & PaginatedQueryDto })
。
我知道有一种方法可以像这样记录它:
顺便说一句,DTO 看起来像这样
swagger - Nestjs Swagger - 在不同的路线上发布不同的 API 文档
我正在构建一个具有公共 API 和内部 API 的应用程序。我想将这些文档发布到不同的路线。我认为这可以通过仅向文档(addTag
)添加某些标签来完成,但在进一步阅读和实验之后,它并没有完成这项工作。
文档始终包含所有内容,所有模块的所有记录端点。
这甚至可能吗?如果是这样,怎么做?
我不相信代码是必要的,但 FWIW:
css - NestjS - 在生产模式下找不到 Swagger ui css 资源
我正在开发一个nestjs项目,我已经添加了swagger来显示我的端点,它在开发模式下工作得很好,但是一旦使用https://zeit.co/(现在)部署到生产中,端点页面就不能正确显示(缺少css),我在网络选项卡中遇到了这个错误:
https://i.stack.imgur.com/T9IQv.png
谢谢。
node.js - 如何使用 nestjs/swagger 更改查询参数序列化?
最近我将nestjs/swagger
项目中的包更新为^4.0.0
. 之前 Swagger 将我的查询参数序列化如下:
现在看起来像这样:
我的查询的 DTO 对象如下所示:
我怎样才能改变这种行为?
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')
swagger - 在 Nest.js 项目中添加 Swagger 基本路径字段
我正在尝试使用 nestjs/swagger 从我的后端创建一个 swagger 文件,但我遇到了与基本路径相关的问题。我想要实现的是将版本显示为基本路径,而不是在所有可用的方法中显示它,这既丑陋又令人困惑。
现在,我的 API 具有以下结构(这是 中存在的一组内容app.module.ts
):
这样,一旦我生成并检查了招摇,我就会看到我所有的方法都跟在/api/v1
前缀后面。这可能是一个例子:
订单
用户
我想要的是摆脱/api/v1
以任何方式出现。我知道 SWAGGER 有 和 的字段host
,basePath
但没有找到任何方法在 Nest.js 中填充它。研究,我发现有一些方法.setBasePath()
,.addServer()
但它们对我不起作用(我很确定它们已被弃用)。
非常感谢您的帮助。
nestjs - 如何使用 DTO 将响应设置为招摇响应中的数组
一些dto.ts
我不想要这样的回应:
但我的响应必须是类似 dto 对象的数组。我想要smth like soo