javascript - 如何在 swagger 中设置路由参数的数据类型?

标签 javascript node.js swagger swagger-ui nestjs

我有一个带有路由参数的简单的 Nest.js Controller :

@Get(':id')
getHello(@Param('id', MyStringPipe) myString: MyString): string {
  return myString.toString();
}

使用简单的管道将参数的数据类型从string转换为MyString:

export class MyStringPipe implements PipeTransform {
  transform(value: string, metadata: ArgumentMetadata) {
    return new MyString(value);
  }
}

现在,当我想尝试使用 swagger-ui 的路由时,它拒绝字符串参数:

enter image description here

如何将参数的数据类型设置为 swagger 的 string


在这里尝试一下:

Edit nest-swagger-ui-param-type

最佳答案

您可以使用 @ApiImplicitParam 装饰器定义参数的类型:

import { ApiImplicitParam } from '@nestjs/swagger';

@Get(':id')
@ApiImplicitParam({ name: 'id', type: String })
getHello(@Param('id', MyStringPipe) myString: MyString): string {
  return myString.toString();
}

关于javascript - 如何在 swagger 中设置路由参数的数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55329036/

相关文章:

Java swagger注解进行授权

javascript - 简单的JS计算器输出问题

javascript - 在 HTML Treeview 中拉伸(stretch)节点的性能不佳

ios - 使用 afnetworking 进行 JSON 序列化

javascript - Node.js 进程在 AWS Fargate 中的行为如何?

java - Swagger UI 错误请求 URL 生成

django Rest Framework - 如何向 api 文档(drf_yasg)添加 post 参数?

javascript - 仅当 Meteorjs 添加新文档时才更新订阅

javascript - 如何设置ExtJs网格的高度?

node.js - Mongodb子文档填充