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

时间:2017-06-16 16:40:31

标签: azure azure-functions

如何在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"使resolver参数可选。代码编译并运行正常,但URL总是希望解析器参数存在,否则我得到404。

我想在上面的代码中使resolver参数可选。有什么办法吗?

2 个答案:

答案 0 :(得分:12)

您可以在路线模板本身中表达参数是可选的。

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

ResolveKey/{key}/{resolver?}

您可以找到有关可选路线和默认值here

的更多信息

答案 1 :(得分:1)

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

ResolveKey/{key}/{*resolver}