Я скопировал ваш код, но есть некоторые проблемы с тем, что вы ожидаете.
1)
public static void SaveNewCustomerOrder(string customerId, string orderId, CustomerOrder customerOrder)
{
order.CustomerID = customerId;
order.OrderId= orderId;
Order.Add(order);
}
Внутри этого метода вы пытаетесь добавить customerId и orderId, но они не относятся к классу заказов. Затем вы пытаетесь добавить этот заказ в список заказов. Я думаю, вы, возможно, хотели бы передать заказ, а не заказ клиента. У меня есть следующие классы и контроллеры:
контроллер:
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNetCore.Mvc;
using ben22.Repositories;
using ben22.Models.Models;
namespace ben22.Controllers
{
public class OrderController : Controller
{
[HttpPost("customers/{customerId}/orders/{orderId}/overview")]
public IActionResult Post([FromRoute] string customerId, string orderId, [FromBody] Order order)
{
OrderRepository.SaveNewCustomerOrder(customerId, orderId, new Order());
return Ok();
}
}
}
Обновлено SaveNewCustomerOrder:
public static void SaveNewCustomerOrder(string customerId, string orderId, Order order)
{
var newCustomer = new CustomerOrder
{
CustomerId = customerId,
OrderId = orderId
};
_CustomerOrder.Add(newCustomer);
_Orders.Add(order);
}
Нажатие следующей конечной точки (Заменить yourPort):
http: // localhost : {yourPort} / customers / 1 / orders / 2 / overview
Тело:
{
"orderId": "55",
"product": "Football",
"status": "Approved",
"price": 9.99
}
Кроме того, если это не работает, я бы проверил ваш launchUrl в visual studio и, возможно, перезапустил его.