2016-12-25 3 views
1

Hier ist meine Systemarchitektur des Datenflusses zum Erstellen eines Datensatzes.Kann ich CorrelationId des Messaging-Systems als Primärschlüssel verwenden und für weitere Kommunikation verwenden?

Clients ====> RabbitMQ ====> (RESTful Service, hört auch RabbitMQ)

Allerdings können die Kunden auch direkt die RESTful Service von REST-Endpunkte Zugang für einen Datensatz zu holen.

Um einen Datensatz eindeutig zu identifizieren, sendet der Client die "CorrelationId" (eine UUID/GUID). Da Clients GUIDs generieren, können Clients dieselbe GUID wie eine Ressourcen-ID verwenden, um auf Ressourcen vom RESTful-Service zuzugreifen?

Beispiel: http://MyApi/Resource/GUID

Ich weiß, GUID ist 32 Zeichen lang für eine Kennung. Es ist etwas seltsam, abgesehen davon, siehst du irgendeine RESTful Entwurfsmusterverletzung?

Bitte schlagen Sie mir die empfohlene Vorgehensweise vor.

Danke, pandiarajan

Antwort

1

Es mit ermöglicht eine GUID als eindeutige Kennung für eine Ressource kein Problem. REST sagt nichts darüber aus, wie ein URI aussehen soll. Es gibt einige Kompromisse (weniger lesbar, sicherer), aber in den meisten Fällen nicht zwingend. Also, wenn es das Richtige für dich ist, mach es.

Verwandte Themen