2017-09-15 7 views
0

HTTP POSTパラメータをAzure関数にバインドして、信頼できないデータがモデルクラスに正しくマッピングされていることを確認します。Azure関数でHTTP POSTでモデルバインディングを実行するにはどうすればよいですか?

今私はapplication/jsonのMIMEタイプを使用しています。また、私はFORM PostとProtobufもサポートする必要があります。

  • 私は後者が少し複雑であることを知っているので、JSONデータの単純なモデルバインディングをどのように実行できますか?

私は、Azureファンクションドキュメントのすべてのページをスキップして、HTTPトリガについて読むのに多くの時間を費やしましたが、この問題に役立つものは何も表示されません。私は、これについて私が研究する必要がある低レベルの技術があると思う(webjobs?)。

答えて

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