【发布时间】:2019-04-16 01:29:24
【问题描述】:
我有一个订单 API。在这里,我尝试添加来自用户的订单,以便接收完整的 Order 对象。这是我控制器中的方法:
[HttpPost("addOrder")]
public IActionResult addOrder([FromBody] Order order)
这是我的模型@服务器端:
public class Order
{
public string OrderId { get; set; }
public User User { get; set; }
public double TotalOrder { get; set; }
public IEnumerable<OrderItem> OrderItems { get; set; }
public Order()
{
OrderItems = new List<OrderItem>();
}
}
public class OrderItem
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string ProductName { get; set; }
public double Price { get; set; }
public int Quantity { get; set; }
[ForeignKey("CartId")]
public Order Order { get; set; }
public string OrderId { get; set; }
}
public class User
{
public string firstName { get; set; }
public string lastName { get; set; }
public string adress { get; set; }
}
当我尝试通过 Postman 使用以下正文测试我的方法时,它会到达我的 API,并且整个 Order 都包含在我的 Order 参数中:
{
"OrderId": "OrderIDTest",
"User": {
"firstName": "FNT",
"lastName": "LNT",
"adress": "AT"
},
"TotalOrder": "999",
"OrderItems": [
{
"ProductName": "Shoe 1",
"Price": "99",
"Quantity": 2
},
{
"ProductName": "Shoe 2",
"Price": "299",
"Quantity": 4
}
]
}
但是当我通过我的 Angular 发送它时,我永远不会到达我的 addOrder 端点。这是我在控制台日志中打印出来的对象:
我的 Angular 服务:
createOrder(order: Order) {
console.log(order);
let header = new HttpHeaders({'Content-Type': 'application/json'})
return this.HttpClient.post("https://localhost:44369/api/order/addOrder", order, { headers: header });
}
顺便说一句,我知道地址拼写错误
【问题讨论】:
-
请在“网络”选项卡中分享完整的请求。
-
它永远不会被添加,但上面的行 (console.log(order)) 在按钮单击时会被打印出来
标签: angular asp.net-core asp.net-core-webapi