Azure 函数可选查询参数

Posted

技术标签:

【中文标题】Azure 函数可选查询参数【英文标题】:Azure Function Optional Query Parameter 【发布时间】:2020-08-13 07:28:14 【问题描述】:

有没有办法在 Azure Functions 中设置可选的查询参数?该参数不应设置为路由参数。 要获取查询参数,我使用以下代码片段

IDictionary<string, string> queryParams = req.GetQueryParameterDictionary();

方法签名如下:

public async Task<IActionResult> Function(
        [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
        [DurableClient] IDurableOrchestrationClient starter
        )

【问题讨论】:

【参考方案1】:

如果你不想将它设置为路由参数,你可以像下面这样使用:

string param = req.Query["param"];

if (string.IsNullOrEmpty(param))  
                //do nothing.
             else  
                //do something.
            

【讨论】:

你好朱,这不会在你进入“if”之前导致异常吗? @korates 请试一试。:) 它不会导致异常。如果它没有得到特定的参数,那么变量参数将为空。(你可以在你身边调试。) 此实现导致以下异常:在 System.ThrowHelper.ThrowKeyNotFoundException[T](T key) at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at 解决方案是检查输入是否存在。请参阅以下链接:***.com/questions/2829873/… 谢谢您的回答。

以上是关于Azure 函数可选查询参数的主要内容,如果未能解决你的问题,请参考以下文章

Azure 函数:如何将 http 触发器函数的查询字符串参数绑定到 Cosmos DB 的 SQL 查询

Blob SAS URI 字符在作为查询参数传递到 Azure 函数应用程序时解码

PL/pgSQL 函数中的可选参数

Azure Functions 和 Swagger UI - 如何在 swagger UI 中显示查询字符串参数?

从 Azure 表存储的千万条记录中查询一条记录

Azure Functions:获取完整的请求 URL,包括 HTTP 触发器函数中的查询字符串