2016-06-29 8 views
2

Wie modelliert man einen assistentenähnlichen sequenziellen Prozess in REST?Wie modelliert man einen assistentenähnlichen sequentiellen Prozess in REST?

Jeder Schritt ist lang und asynchron, jeder Schritt benötigt neue Client-Eingaben basierend auf den Ergebnissen des vorherigen Schritts. Die meisten Beispiele, die ich gefunden habe, beinhalten nur das Hinzufügen eines neuen Elements zu einer Sammlung und dann das Ändern des Elements, so dass ich nicht weiß, wie ich es auf meinen Fall anwenden soll.

Wenn ich versuche, eine Analogie zu dem machen, wird es so sein:

Client-Geheimnis Paket

einreichen langsam Server entpackt es

Es ist Kuchen! Client-Eingang, wie viele Scheiben

Server Schnitt Kuchen schneiden langsam

Client geschnitten bekommen Kuchen

Es Bombe! Client einzugeben, ob grüne Linie oder rote Linie zu schneiden

Server entwaffnen Bombe langsam

Client entwaffnete erhalten Bombe

Auspacken, Schneiden, entwaffnend ist Asynchron-sequentielle singuläre Aktion mit singulärer Ausgabe, die Proben auf mehrere Elemente anwenden in einer Sammlung fühlt es sich komisch an, wenn ich versuche, diese singulären Aktionen zu modellieren ...

Danke.

Antwort

2

Wie modelliert man einen assistentenähnlichen sequenziellen Prozess in REST?

Auf die gleiche Weise modellieren Sie einen assistentenähnlichen sequenziellen Prozess mit HTML-Formularen.

Jeder Schritt ist lang und asynchron, jeder Schritt benötigt neue Client-Eingaben basierend auf den Ergebnissen des vorherigen Schritts.

Ändert die Dinge nicht sehr viel.

In HTML würde der Benutzer einem Link/Lesezeichen zu einem Formular folgen. Der Benutzer würde das Formular ausfüllen und auf die Schaltfläche "Make Soup" klicken. Der Inhalt des Formulars wird in einer http-Anfrage an den Server gesendet. Der Server kopiert diese Informationen in das Domänenmodell und sendet eine Reihe von HTML-Daten zurück mit der Meldung "Es ist noch keine Suppe; klicken Sie hier, um zu überprüfen, ob es sich um eine Suppe handelt". Der Benutzer klickt auf den Link, um zu fragen, ob es sich um eine Suppe handelt. Der Server sendet eine weitere HTML-Antwort zurück, die bestreitet, dass es sich um eine Suppe handelt. Schließlich beantwortet der Server eine dieser Abfragen, indem er zugibt, dass er Suppe ist, und hier ist das nächste Formular, das Sie benötigen. Und immer weiter, bis das Protokoll fertig ist.

Und so: Sie sagen dem Server, dass Sie ein Mystery-Paket öffnen möchten. Der Server leitet Sie zu einem Fortschrittsbericht weiter. Die Darstellung des Fortschrittsberichts ist ein Dokument, das Sie auffordert, geduldig zu sein, und enthält einen einzelnen Link, der Ihnen mitteilt, wie Sie eine aktualisierte Kopie des Fortschrittsberichts erhalten. Wenn das Mystery-Paket schließlich geöffnet wurde, ändert sich die Darstellung des Fortschrittsberichts, um eine Verbindung zum nächsten Schritt im Protokoll aufzunehmen.

die Proben gelten in einer Sammlung auf mehrere Elemente, so dass es seltsam anfühlt, wenn ich versuchen, diese singuläre Aktionen zu modellieren ...

Jim Webber

URIs auf Domain-Objekte den Plan nicht - Das verletzt die Kapselung. Die Arbeit (z. B. das Ausgeben von Befehlen an das Domänenmodell) ist ein Nebeneffekt der Ressourcenverwaltung.

Ressourcen Ihres Domain-Modell für das Web anpassen