【问题标题】:How do I perform model binding on a HTTP POST in Azure Functions?如何在 Azure Functions 中对 HTTP POST 执行模型绑定?
【发布时间】:2017-09-15 23:13:44
【问题描述】:
我想将我的 HTTP POST 参数绑定到 Azure 函数,并希望确保不受信任的数据正确映射到我的模型类。
现在我正在使用 application/json 的 mime 类型,我可能还需要支持 FORM Post 和 Protobuf。
- 既然我知道对后者的支持有点复杂,我该如何对 JSON 数据执行简单的模型绑定?
我花了很多时间阅读有关 HTTP 触发器的信息,浏览了 Azure Function 文档的所有页面,但没有看到任何有助于解决此问题的内容。我怀疑我需要为此研究较低级别的技术(网络作业?)。
【问题讨论】:
标签:
azure
azure-webjobs
azure-functions
【解决方案1】:
如果您的 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}!");
}