Ich bin neu in REST API-Design und ich frage mich, wie man für ein Problem wie folgt definiert. Ich habe auch dargelegt, was ich zur Zeit im Auge haben, aber offensichtlich sehe ich viele Probleme mit ihmREST-API-Design für ein Alert-System
- A
Cluster
hatAlerts
Alerts
sind Instanzen vonAlert_Type
- Ein
Alert_Type
kannCluster(s)
zugeordnet werden. In diesem Fall wird dieCluster
auch ohneCluster
- zugeordnet werden können, für
Alerts
vonAlert_Type
- Ein
Alert_Type
registriert, wenn einAlert
der InstanzAlert_Type
in einemCluster
auftritt, eine Aktion tritt auf, wenn und nur wennAlert_Type
registriert ist einCluster
undAlert_Type
existiert
für die Zwecke dieser Frage, die ich mit dem REST-API-Design betroffen bin und Routen für die Alert_Type
Zie ct und Cluster
Objekt
Diese sind eine Teilmenge von REST Aktionen ich auf Cluster
Objekt durchführen kann:
POST: Erstellen Sie ein neues Cluster
Objekt. In dem Objekt namens ein Feld registered_alerts
die Alert_Type
Objekte registriert für dieses Cluster
DELETE enthalten könnte: Löschen eines vorhandenen Cluster
Objekt
GET (on/alert_types): eine Liste von Alert_Type
Objekte zurückgeben wird registriert mit diesem Cluster
diese sind eine Teilmenge von REST Aktionen ich auf Alert_Type
Objekt durchführen kann:
POST: Erstellen Sie ein neues Objekt Alert_Type
.
DELETE: Löschen eines bestehenden Alert_Type
Objekt
GET: Erhalten Sie eine bestehende Alert_Type
Objekt
Nun meine Fragen:
- Offensichtlich muss ich die
Cluster
undAlert_Type
Objekte binden - Ich kenne sein nicht gutes Design, um diezu kopieren 0 Objekte in dieCluster
Objekte. Also sollte ich vielleicht eine ID für jedesAlert_Type
Objekt erzeugen und verlangen, dass derCluster
POST stattdessen eine ID sendet?Und dann eine Liste von IDs in demCluster
Objekt hält - Wenn die
Cluster
POST ein Bündel vonAlert_Type
IDs einigen hat, dass gültig sind, und einige, die nicht, wie gehe ich das? - Die eindeutige ID für eine
Alert_Type
muss auf dem Server generiert werden, und zurückgegeben in der Antwort des POSTAlert_Type
- ist die richtige Möglichkeit, dies in einer REST-kompatiblen Weise zu tun? - Glauben Sie, dass es erforderlich wäre, die
Cluster
IDs in dieAlert_Type
Objekte zu halten? Der einzige Grund kann ich sehen die Notwendigkeit für das ist, wenn einAlert_Type
gelöscht wird - und dann sollte das aktualisieren, um dieCluster
Objekte, die für dieseAlert_Type