繁体   English   中英

如何在 Azure Functions 中使用 HttpTrigger 进行模型绑定?

[英]How can I do ModelBinding with HttpTrigger in Azure Functions?

我需要创建一个响应 HTTP POST 并利用集成模型绑定的 Azure 函数。

我该如何修改这个

    [FunctionName("TokenPolicy")]
    public static HttpResponseMessage Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "TokenPolicy/{IssuerID}/{SpecificationID}")]HttpRequestMessage req, string IssuerID, string specificationID, TraceWriter log)
    {
        log.Info("C# HTTP trigger function processed a request. TokenPolicy");

        // Fetching the name from the path parameter in the request URL
        return req.CreateResponse(HttpStatusCode.OK, "data " +  specificationID);
    }

以这样一种方式,我的客户端 POST 是对象,并且我有正常的 ASP.NET 样式模型绑定?

根据来自 code 的 HTTP trigger的文档,您可以简单地接受自己的对象:

对于自定义类型(例如 POCO),Functions 将尝试将请求正文解析为 JSON 以填充对象属性。

public class MyModel
{
    public int Id { get; set; }
    public string Name { get; set; }
}

[FunctionName("TokenPolicy")]
public static HttpResponseMessage Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "TokenPolicy/{IssuerID}/{SpecificationID}")]MyModel myObj, string IssuerID, string specificationID, TraceWriter log)
{
    log.Info("C# HTTP trigger function processed a request. TokenPolicy");


    // Do something your your object

    return new HttpResponseMessage(HttpStatusCode.OK);
}

您可以使用自定义类型,而不是使用HttpRequestMessage参数。 绑定将尝试将请求正文解析为 JSON 并在调用函数之前填充该对象。 这里有一些细节: https : //docs.microsoft.com/azure/azure-functions/functions-bindings-http-webhook-trigger?tabs=csharp#payload

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM