首页 > 解决方案 > 如何在 NestjS 中使用可选的 url 参数

问题描述

我正在尝试使用 Nestjs 库替换我们当前的后端服务,但是,我想在 URL 中创建一个带有 2 个可选参数的路由,例如:

/route/:param1/config/:OptionalParam3?/:OptionalParam3?

这意味着路线应该抓住:

  1. route/aa/config
  2. route/aa/config/bb
  3. route/aa/config/bb/cc

我怎样才能做到这一点,我试过使用?()但效果不佳。

标签: node.jstypescriptexpressnestjsfastify

解决方案


路由器参数名称应该是唯一的。正确的路由路径是:

现有的一种是:

/route/:param1/config/:OptionalParam3?/:OptionalParam3?

更正:

/route/:param1/config/:OptionalParam3?/:OptionalParam4?

意见:如果参数是可选的,您可以使用查询参数。创建可选的参数路​​由绝不是一个好主意(同意的分歧)。两者都有相同的目的,但是将它们作为查询参数使调试和其他开发人员更容易理解。


推荐阅读