如何在 Azure 函数签名中使用强类型 http 方法

Posted

技术标签:

【中文标题】如何在 Azure 函数签名中使用强类型 http 方法【英文标题】:How to use strongly typed http methods in an Azure function signature 【发布时间】:2021-01-25 14:33:48 【问题描述】:

我有一堆使用 http 触发器的 Azure 函数。我一直在硬编码 http 方法,如下例所示:

[FunctionName("HttpTriggerCSharp")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]
    HttpRequest req, ILogger log)

理想情况下,我想使用强类型值而不是像getpost 这样的硬编码字符串。我尝试使用 HttpMethod 枚举值,但出现以下错误:

属性参数必须是常量表达式,typeof 属性参数类型的表达式或数组创建表达式

使用 C#,有没有办法在声明函数方法签名时利用强类型 http 方法?

【问题讨论】:

这里的“强类型”是什么意思? 【参考方案1】:

nameof(HttpMethod.Get) 应该可以工作。

【讨论】:

以上是关于如何在 Azure 函数签名中使用强类型 http 方法的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中验证 Azure B2C id 令牌的 JWT 签名?

如何使用 Azure Key Vault 中的证书/密钥对使用 Azure Pipelines 构建的代码进行签名?

如何在 Azure API 管理中使用 validate-jwt 策略验证使用 RS256 算法签名的 JWT

如何验证 Azure 活动目录中刷新的 id_token 的签名

如何延迟读取触发 HTTP 请求的正文,直到稍后在 Azure 函数中?

创建Azure自签名证书