Ressource in RESTful-Architektur verschieben

8

Ich habe einen RESTful Webservice, der Prozesse und Aktivitäten darstellt. Jede Aktivität befindet sich in einem einzigen Prozess. Ich möchte eine "Move" -Operation der Aktivität zwischen dem Prozess, in dem es sich gerade befindet, und einem anderen Prozess darstellen.

Ich habe mir Foren angeschaut und gefunden, dass Leute MOVE-Operationen vorschlagen, die nicht sehr standard sind und andere schlagen vor, PUT zu verwenden, aber ich bin mir nicht sicher, wie ich den Unterschied zwischen PUT und PUT unterscheiden kann, der sich bewegt semantisch falsch.

Irgendwelche Ideen?

    
Ido Ran 28.06.2011, 20:27
quelle

2 Antworten

3

Wenn Sie PUTs verwenden, können Sie den Unterschied erkennen, indem Sie feststellen, ob der Prozess des vorhandenen Objekts mit dem neuen übereinstimmt.

%Vor%

Wobei die logische Antwort (falls erfolgreich)

ist %Vor%     
OrangeDog 28.06.2011, 22:18
quelle
8

Eine Möglichkeit könnte sein, die Bewegung selbst als eine "Transfer" -Ressource darzustellen (als Nomen zu übertragen) und eine neue POST zu erstellen:

%Vor%

Mit einer Entität, die folgendes enthält:

%Vor%

Auf diese Weise erstellen Clients neue "Übertragungen", die auf dem Server die Überprüfung und Übertragung der Aktivität übernehmen.

Damit haben Sie die Möglichkeit, Informationen über die Übertragung hinzuzufügen. Wenn Sie einen Verlauf für das Auditing beibehalten möchten, können Sie der Ressource eine transferredBy -Eigenschaft oder ein transferredOn -Datum hinzufügen.

    
Rob Hruska 28.06.2011 22:00
quelle

Tags und Links