Как установить тип данных для параметра маршрута в swagger? - PullRequest
1 голос
/ 25 марта 2019

У меня есть простой контроллер nest.js с параметром маршрута:

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

Тип данных параметра преобразуется из string в MyString с помощью простого pipe:

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

Теперь, когда я хочу попробовать маршрут с помощью swagger-ui, он отклоняет строковый параметр:

enter image description here

Как можноЯ установил тип данных параметра на string для чванства?


Попробуйте здесь:

Edit nest-swagger-ui-param-type

1 Ответ

1 голос
/ 07 апреля 2019

Вы можете определить тип параметра с помощью декоратора @ApiImplicitParam:

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

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