如何使用@Param

时间:2019-02-26 22:34:03

标签: javascript node.js typescript express nestjs

我正在编写类似于imageproxy的图像处理器代理,但使用的是NestJS。

我想这样声明一个端点:GET /api/trim/http://your.image.url,其中http://your.image.url是我要转换的图像的URL。

在我的控制器中,我将执行以下操作:

@Get('trim/:imageUrl')
  async trimCanvas(
    @Param('imageUrl') imageUrl: string,
  ): Promise<any> {
    console.log(imageUrl);
    return 'OK';
  }

但是,如果我发出请求,则控制器将永远不会被命中,而是会得到默认的404。

1 个答案:

答案 0 :(得分:1)

默认情况下,URL参数不会捕获斜杠。您可以在route param括号中附加一个正则表达式以更改此行为。将通配符*添加到您的参数中,以便它也接受/

@Get('trim/:imageUrl(*)')

在此codesandbox中尝试一下。