如何在asp web api中的post请求中发布多个复杂对象?我似乎发现的所有内容都表明在请求正文中只允许一种对象类型。它是否正确?如果是这样,对于这个有什么好的解决方法? 样本模型:
public class Object1
{
int numWheels { get; set; }
string seatheight { get; set; }
public Object2[] shopLoc { get; set; }
}
public class Object2
{
string streetName { get; set; }
double revenue { get; set; }
}
Sample Products controller:
Post:products/Post/
public Object1 Post(Object1 tricycle, Object2 cyclingShop)
{
return tricycle;
}
我如何在asp web api中使用它?
答案 0 :(得分:0)
您已在Object2
中拥有Object1
类型的属性,那么为什么要将Object2
作为单独的参数?
我不会将它作为数组类型而是将Object2作为Enumerable
的{{1}}道具
Object1
在视图中执行此操作(强类型),您可以将其渲染为
public class Object1
{
int numWheels { get; set; }
string seatheight { get; set; }
public IEnumerable<Object2> shopLoc { get; set; }
}
如果您有多个商店位置,那么默认模型活页夹将很好地绑定商店集合
<%@ Page Inherits="ViewPage<Object1>" %>
<% for (int i = 0; i < Model.shoploc.Count(); i++) { %>
<%: Html.TextBoxFor(m => m[i].streetName) %>
<%: Html.TextBoxFor(m => m[i].revenue ) %>
<% } %>
操作应该看起来像
POST