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

问题描述

我有一堆使用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方法

解决方法

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