我有一个订购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 });
}
我知道地址的拼写错误
答案 0 :(得分:1)
我认为问题可能是 请求未订阅,这是常见问题之一。这就是为什么请求永远不会向Api发送的原因。
请分享网络请求,以便我更好地进行分析。