Lets sagen, ich habe Order
Ressource und eine Aktion public ActionResult UpdateOrder(Order order)
. Ich versuche REST
api zu machen. Und ich möchte diese Bestellung in den nächsten Status bringen.Teil Rest Updates
Zu diesem Zweck habe ich eine Methode namens ChangeOrderStatus(string newStatus, int orderId)
auf Backend, die alles über Statusänderung (senden Sie einige Mails, Protokollierung, fügen Sie einige Dinge in DB. Etc ...) und diese Methode wird von Controller-Aktion aufgerufen. Der Punkt ist, dass das Ändern des Auftragsstatus ein komplexer Vorgang ist und nicht nur den alten Feldwert durch einen neuen ersetzt.
Aber meine Frage ist, sollte ich schreiben neue Controller-Aktion (Strecke) für Statusänderung, zum Beispiel public ActionResult UpdateOrderStatus(string newStatus, int orderId)
und rufen ChangeOrderStatus
dort oder ich sollte alles in UpdateOrder(Order order)
Methode setzen? Zum Beispiel, einen Teil der UpdateOrder(Order order)
Methode in diesem Fall wäre:
if (order.Status != oldOrder.Status) { ChangeOrderStatus(order.Status, order.Id); }
ich es mit dem ersten Ansatz tun würde, aber einige Leute sagen mir, dass der zweite Ansatz ist besser, weil es ein einziger Eintrag sein sollte Punkt für Ressourcen-Update, so dass mein Status-Update oder andere Updates im Zusammenhang mit Bestellung Ressource sollte in UpdateOrder
Methode ... Also ich bin mir nicht sicher, was ist der richtige Ansatz ...