发布时Azure Function HTTP请求正文映射不起作用

时间:2019-05-16 07:55:01

标签: c# azure azure-functions

我有一个Azure函数,带有以下声明:

 public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "get", Route = "GetServicesByEanCode/")]GetServicesByEanCode_Request httpReq, ILogger log)

请求对象定义为

   [DataContract]
    public class GetServicesByEanCode_Request
    {
        [DataMember(IsRequired = true)]
        public string EanCode { get; set; }
    }

如果我在本地运行函数,则具有以下主体的HTTP请求将可以正常运行,并且使用“ eancode”的值填充httpReq:

{ "eancode":"123"}

但是,在将函数发布到Azure函数之后,完全没有使用同一请求主体填充请求对象。

如果我在请求中将“ eancode”设置为参数,则它对本地和已发布均适用。但是我不知道为什么它只在两种情况之一中映射。我在这里可能会缺少什么?

1 个答案:

答案 0 :(得分:0)

我重现您的问题。

部署到azure之后,使用请求正文时出现404错误。然后我将Http方法选择为Get(尽管您在本地设置了get方法,但部署后为null,因此需要选择它)然后再次测试,现在可以正常使用了。

enter image description here