如何在 Azure 函数中使路由参数可选

How to make a route parameter optional in Azure Function

如何在 Azure 函数中使路由参数可选

public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "ResolveKey/{key}/{resolver}")]HttpRequestMessage req, TraceWriter log, string key,string resolver= "default")

在上面的代码中,我试图通过设置默认值 string resolver= "default" 来使解析器参数可选。代码编译并运行良好,但 URL 总是希望解析器参数存在,否则我得到 404.

我想在上面的代码中将解析器参数设为可选。有什么办法吗?

你可以在路由模板中表示一个参数是可选的。

对于上述路线,您只需将模板更改为以下内容即可:

ResolveKey/{key}/{resolver?}

您可以找到有关可选路由和默认值的更多信息here

Azure Functions 现在支持正则表达式。您可以将路由模板更改为

ResolveKey/{key}/{*resolver}