如何使用@Param从路由中检索URL

问题描述 投票:0回答:1

我正在编写一个图像处理器代理,类似于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.关于如何使这个工作的任何想法?

javascript node.js typescript express nestjs
1个回答
1
投票

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

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

在这个codesandbox尝试一下。

© www.soinside.com 2019 - 2024. All rights reserved.