NestJS“获取”具有多个参数

时间:2018-11-22 00:46:38

标签: javascript rest authentication get nestjs

我正在用NestJS创建一个API,我试图在控制器中创建一个方法“ Get”,该方法接收两个参数,但是当服务器接受请求时,这些参数是不确定的,我无法解决。 / p>

Method in auth controller

Parameters that I need to receive

4 个答案:

答案 0 :(得分:2)

嵌套不支持以这种方式将log_message查询参数自动转换为对象的功能。期望您可以通过将参数名称传递给class QuietHandler(http.server.SimpleHTTPRequestHandler): def log_message(self, format, *args): pass with socketserver.TCPServer(("", 8980), QuietHandler) as httpd: httpd.serve_forever() 装饰器来单独提取参数。

尝试将您的签名更改为:

Get

如果您想接收一个对象,则考虑切换到使用@Param并将该对象传递到请求主体中(无论如何,对于登录操作,这对我来说更有意义)。

答案 1 :(得分:0)

在浏览器中

localhost:3001/Products/v1/user2

像这样的控制器:

@Controller('Products')
export class CrashesController {
  constructor(private readonly crashesService: CrashesService) { }

  @Get('/:version/:user')
  async findVersionUser(@Param('version') version: string, @Param('user') user: string): Promise<Crash[]> {
    return this.crashesService.findVersionUser(version, user);
  }
}

答案 2 :(得分:0)

现在我在7.0.0上使用nestJs,如果您这样做:

@Get('/paramsTest3/:number/:name/:age')
  getIdTest3(@Param() params:number): string{
    console.log(params);
    return this.appService.getMultipleParams(params);
  }

console.log(params)结果将是(这些值仅是示例):

{ number:11, name: thiago, age: 23 }

我希望在这段时间过后我能以某种方式对您有所帮助!

答案 3 :(得分:0)

假设您需要传递一个名为 id 的必需参数,您可以通过 header params 发送它,而您的可选参数可以通过 query params 发送;

 @Get('/:id')
  findAll(
    @Param('id') patientId: string,
    @Query() filter: string,
  ): string {
    console.log(id);
    console.log(filter);

    return 'Get all samples';
  }