【发布时间】:2020-10-10 00:30:59
【问题描述】:
我正在使用 Azure Functions,我想创建一个对多个路由做出反应的函数。例如“/path1/{param1}”和“/path2/xxx/{param2}”或类似的东西。
有人知道我该如何实现吗?
【问题讨论】:
标签: rest azure azure-functions
我正在使用 Azure Functions,我想创建一个对多个路由做出反应的函数。例如“/path1/{param1}”和“/path2/xxx/{param2}”或类似的东西。
有人知道我该如何实现吗?
【问题讨论】:
标签: rest azure azure-functions
您应该为此使用Function Proxies。
【讨论】:
正如@Naren 所指出的,Azure 函数route 参数实际上用作后端中的 ASP.NET 路由。这意味着我们还可以利用可选参数来提供您想要的基本相同的行为。如果您不想使用 Function Proxies,这对于各种事情来说都是一个有用的替代方案。
将路线设置为:
/{path:regex(^path[12]$)}/{param1}/{param2?}
因为param2 是可选的,所以如果你调用/path2/blah,你只会得到null 的param2 的值。为确保path == "path1"时param1只能使用xxx,您只需在代码中进行简单的检查即可。
【讨论】:
Azure Functions 仅允许您将单个路由映射到函数。但是,路由可以包含正则表达式。它会给你一点灵活性。您可以在here找到更多信息。
Function Proxies 是更简单、更灵活的方式。
【讨论】: