【发布时间】:2021-05-14 23:32:05
【问题描述】:
这是我的实际包装代码:
namespace RestApiTO.Wrapper
{
public class RequestModel<T> : AttributeModel<T>
{
public RequestModel(T data)
{
Data = data;
}
public T Data { get; set; }
}
public class AttributeModel<T>
{
public AttributeModel()
{
}
public AttributeModel(T data)
{
Attributes = data;
}
public T Attributes { get; set; }
}
public class OrderRequestModel<T> : AttributeModel<T>
{
public OrderRequestModel(T attributes, List<Order_items> dataOrderItems)
{
this.Attributes = attributes;
this.Order_detail = dataOrderItems;
}
public int CustomerId { get; set; }
public List<Order_items> Order_detail { get; set; }
}
}
这是我预期的请求正文:
{
"data": {
"attributes": {
"user_id": 1,
"order_detail": [
{
"product_id": 1,
"quantity": 1
},
{
"product_id": 2,
"quantity": 2
}
]
}
}
}
这是模式数据库: Schema database
这是我的控制器
[HttpPost]
public async Task<ActionResult> PostOrders([FromBody]RequestModel<AttributeModel<OrderRequestModel<Order_items>>> orders)
{
// do something }
如果我使用此代码,则会出现错误:
类型“xxxxxxx”的构造函数“Void .ctor(System.Guid, System.String, System.String, System.String, System.String)”中的每个参数都必须绑定到反序列化时的对象属性或字段。每个参数名称必须与对象上的属性或字段匹配。匹配可以不区分大小写。
我想按照我的预期制作我的请求正文,但我的想法更难。
【问题讨论】:
-
我可能是错的,但你似乎无缘无故地做了一些时髦的事情......你考虑过json2csharp.com
标签: c# asp.net .net entity-framework