Хотя вы, возможно, нашли ответ на свой вопрос в другом потоке есть еще какой-то вопрос относительно вашей конечной конструкции.
Первая интуиция, которую ваша конечная точка дает, заключается в том, что ресурс продукта может существовать в нескольких местах.
./orders/{order_id}/products/{prod_id}
./products/{prod_id}
Вопрос, который вы должны задать себе: Вы действительно хотите обратиться к продукту? Можно ли оставить продукт за пределами любых заказов?
Наличие ресурса, сидящего в 2 разных местах, возможно, не так уж велико, поскольку вы управляете двумя разными конечными точками с аналогичным поведением. Сохранять согласованность между конечными точками не так просто.
Мой 2 цента заключается в том, чтобы избежать термина продукта, поскольку его можно путать с одним экземпляром продукта. Например, если вы продаете toothbrush branded AAA, sku 1234
заказ не заносится о данном товаре, а одним товаром, который у вас есть на складе. Элемент является «экземпляром» toothbrush branded AAA, sku 1234
.
Как я понимаю ваш вопрос, вы на самом деле не ссылаетесь на продукт, но больше на stock-item
, который должен быть уникальным идентификатором.
Ресурс stock-item
, если вы решили, что он должен существовать до заказа. Я предполагаю, что клиент не добавляет товар на ваш склад и в то же время покупает этот товар.
В заключение я думаю, что вы не создаете ресурс stock-item
вообще при создании orders
, а просто ссылаетесь на него.
Я думаю, что я нашел свой ответ здесь: http://stackoverflow.com/questions/14275257/rest-creating-nested-resources-with-single-post# – MeV