gpt4 book ai didi

asp.net-web-api - 来自 Uri 和来自正文的 ASP.NET Web Api 2 发布请求

转载 作者:行者123 更新时间:2023-12-02 03:41:49 25 4
gpt4 key购买 nike

我有一个 ASP.NET Web Api 2 端点,旨在供不同的客户端使用。端点应该接受来自 body 和 Uri 的发布数据。所以我的问题是我的 POST 操作是否可以支持这两种类型的请求并将发布的数据映射到 POST 操作中?

我对该问题的解决方案是公开两个端点 - 一个支持每个场景(请参阅下面的代码),但我宁愿只有一个端点可以提供给所有客户端。怎么可能?

// The Controller Action when data is posted in the Uri:

// POST: api/PostUri
[HttpPost]
[ActionName("PostUri")]
public Result Post([FromUri]Data data)
{
// Do something..
}

// The Controller Action when request is posted with data in the Body:

// POST: api/MyController/PostBody
[HttpPost]
[ActionName("PostBody")]
public Result PostBody(Data data)
{
return Post(data);
}

最佳答案

我可以通过让我的 Controller Action 接受两个参数来解决这个问题。我的数据类型的两个参数 - 一个带有 [FromUri] 属性,一个没有:

public Result Post([FromUri]Data fromUri, Data fromBody)
{
// Check fromUri and its properties
// Check fromBody and its properties
...

}

如果数据的Request放在正文中,数据将绑定(bind)到fromBody参数。如果 Request 数据在 URI 中,那么它们将使用 [FromUri] 属性绑定(bind)到 fromUri 参数。

关于asp.net-web-api - 来自 Uri 和来自正文的 ASP.NET Web Api 2 发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48371575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com