.NET核心API控制器从不从Angular客户端接收消息

时间:2019-04-15 17:08:04

标签: angular asp.net-core asp.net-core-webapi

我有一个订购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端点。这是我要发送的对象,在控制台日志中打印出来了:

Object from Angular Client:

我的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 });

}

我知道地址的拼写错误

1 个答案:

答案 0 :(得分:1)

我认为问题可能是 请求未订阅,这是常见问题之一。这就是为什么请求永远不会向Api发送的原因。

请分享网络请求,以便我更好地进行分析。

相关问题