如何在Azure Functions中的HTTP POST上执行模型绑定?

时间:2017-09-15 23:13:44

标签: azure azure-webjobs azure-functions

我想将HTTP POST参数绑定到Azure函数,并希望确保不受信任的数据正确映射到我的模型类。

现在我使用mime类型application/json,我可能还需要支持FORM Post和Protobuf。

  • 由于我知道对后者的支持有点复杂,我如何为JSON数据执行简单的模型绑定?

我花了很多时间阅读有关HTTP触发器,浏览Azure功能文档的所有页面,但是没有看到任何有助于解决此问题的内容。我怀疑我需要研究一种较低级别的技术(webjobs?)。

1 个答案:

答案 0 :(得分:3)

如果您的HttpTrigger函数配置为接受JSON POST请求,您可以按如下方式绑定到自定义模型类型:

using System.Net;

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}

public static async Task<HttpResponseMessage> Run(Person person, HttpRequestMessage req)
{
    return person.FirstName == null
        ? req.CreateResponse(HttpStatusCode.BadRequest, "Who are you?")
        : req.CreateResponse(HttpStatusCode.OK, $"Hello {person.FirstName}!");
}