【发布时间】:2017-10-06 07:36:54
【问题描述】:
我需要提供一个模型,其中包含我希望在 POST 请求中绑定的所有参数。然而,其中一些参数来自 Route,一些来自正文,以 JSON 序列化字符串的形式。
WebApi 中有没有办法处理这个问题,这样我就可以只拥有单个对象而无需指定额外的原始参数。
所以而不是这个。
public async Task<IActionResult> Post(int agencyId, string stockTypeKey, int stockClassId, [FromBody] ListingPostRequest request)
我在找这个
public async Task<IActionResult> Post([FromBody]ListingPostRequest request)
public class ListingPostRequest : IRequest<ListingPostResponse>, IAgencyRequest
{
public int AgencyId { get; set; }
public string StockTypeKey { get; set; }
public int StockClassId { get; set; }
public ListingPostRequestApi Model { get; set; }
}
【问题讨论】:
-
听起来您正在寻找的是环境路由值,或者隐藏的回发值作为后备。你也试过了吗?
-
不,我不确定我明白你的意思抱歉
-
好的,
ListingPostRequest的 AgencyId、stockTypeKey 和 stockClassId 属性是什么? -
抱歉,在我的示例中,我忘记显示对象模型是从body 绑定的。已更新
-
啊,是的,你提到了,但这是我不熟悉的东西,所以巧妙地迷失了我。我仍然不知道您的原语是否在
ListingPostRequest中重复,这使得很难回答。如果您可以展示该课程,那将很有帮助。但我认为基于使用 [FromBody] 和类型转换器标题下的docs.microsoft.com/en-us/aspnet/web-api/overview/…,您正在寻找的内容是不可能的。这有什么帮助吗?
标签: asp.net-mvc asp.net-web-api .net-core