В моем MEAN приложения, у меня есть модель продукта, как это:несколько ресурсов в одной службе
product: {
field: //some string value//,
reviews: //an array of review objects//
}
Теперь я буду применять различные ограничения для сохранения field
и reviews
, поэтому мои API конечных точек будет выглядеть следующим образом :
/* specific route for updating reviews */
router.put('/products/reviews/:id', checkRightsToUpdateReviews, updateProductReviews);
/* specific route for updating field */
router.put('/products/:id', checkRightsToUpdateField, updateProductField);
Эти конечные точки достигаются моей угловыми службы productData
соответственно с помощью методов productData.updateReview(product)
и productData.updateField(product)
.
Таким образом, в моей productData
службе, я использую два ресурса:
One с URL /products/reviews/:id
для метода updateReview
, и один с URL /products/:id
для метода updateField
.
Я чувствую, что я не делаю разделения проблем должным образом.
Проблема возникает из-за того, что моя модель имеет поля, которые нужно обрабатывать по-разному. Но для меня имеет смысл иметь все операции CRUD для products
в одной службе.
Что было бы более элегантным решением для этого?