2017-09-15 25 views
0

我想将我的HTTP POST参数绑定到Azure函数,并且希望确保不可信数据正确映射到我的模型类。如何在Azure函数的HTTP POST上执行模型绑定?

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

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

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

回答

2

如果您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}!"); 
}