У меня есть 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; }
}
Когда я пытаюсь проверить мой метод через Почтальон со следующим телом, он достигает моего API, и весь Заказ включается в мой параметр Заказа:
{
"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. Вот объект, который я отправляю, распечатан в консольном журнале:
Мой угловой сервис:
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 });
}
Кстати, я знаю, что адрес написан неправильно