2017-10-04 3 views
0

Ich arbeite an der Erstellung von Web-Anwendung. Im Projekt habe ich drei Einheiten:Kaskade Update Kind, wenn Update Eltern

  • Anzug
  • Fall
  • Schritt

One Suit enthält viele Fälle und ein Fall enthält viele Schritte. Alle Informationen repräsentieren nur auf einer Webseite. Auf der Webseite haben wir Informationen über einen Anzug, eine Liste von Fällen, die in diesen Anzug aufgenommen werden, und alle Schritte für jeden Fall.
Auf der Webseite haben wir auch einen Knopf um alle Informationen über Suit zu speichern. So kann der Kunde alles ändern, was er möchte. Er kann Schritte oder Fälle löschen und einfügen, aber alle Änderungen werden gespeichert, wenn er auf die Schaltfläche "Speichern" klickt.

Also meine Frage ist: "Wie schreibe ich eine Abfrage, um alle Informationen zu aktualisieren?"

Kleines Beispiel: Wir bekommen auf das Backend etwas wie folgt aus:

{ 
    "id": 1, 
    "name": "Suit name", 
    "cases":[ 
     { 
      "id": 1, 
      "name": "Case 1", 
      "steps":[ 
       { 
        "id": 1, 
        "name": "Case 1 first step" 
       } 
      ] 
     }, 
     { 
      "id": 2, 
      "name": "Case 2", 
      "steps":[ 
       { 
        "id": 2, 
        "name": "Case 2 first step" 
       }, 
       { 
        "id": 3, 
        "name": "Case 2 second step" 
       } 
      ] 
     } 
    ] 
} 

Wenn Kunde Update Anzug Informationen, zum Beispiel er einen neuen Schritt in „1 Fall“ hinzufügen und löschen " Fall 2 ". In dieser Situation erstelle ich ein neues JSON-Objekt:

{ 
    "id": 1, 
    "name": "New suit name", 
    "cases":[ 
     { 
      "id": 1, 
      "name": "Case 1", 
      "steps":[ 
       { 
        "id": 1, 
        "name": "Case 1 first step" 
       }, 
       { 
        "name": "Case 1 second step" 
       } 
      ] 
     } 
    ] 
} 

Und wenn ich dieses JSON-Objekt zu bekommen, es ist wirklich schwer zu erkennen, was geändert wurde (aktualisieren, löschen oder addieren), so dass ich alle Informationen über Anzug löschen und erneut einfügen.

Ein weiteres Problem, dass dieses JSON-Objekt sendet:

PUT http://example.com/suit/1 

ich es REST-API für hinzufügen, aktualisieren und löschen Sie alle Elemente in der Klage richtig JSON-Objekt festlegen kann, wenn ich.

Aber ich denke, es ist falsch. Die REST API PUT muss nur die Informationen zu den Elementen aktualisieren oder Elemente hinzufügen, wenn sie nicht vorhanden, aber nicht gelöscht wurden.

Kann jemand mit einem ähnlichen Problem konfrontiert sein. Ich freue mich auf Ihre Kommentare und Vorschläge zu hören.

Grüße

Antwort

0

In API restfull würde ich vorschlagen, über die API abfragen, ob das Objekt vorhanden ist und dementsprechend in Beispiel nennen, wenn exist Anruf-Update, wenn erstellt keine nennen.

Sie müssen nicht mit all diesem Chaos auf einer Serverseite umgehen

Verwandte Themen