Zusammengesetzten Schlüssel für REST-API-Methoden

Ich bin auf der Suche nach den best practices für RESTful API-design für den folgenden Anwendungsfall:

Domain-Objekt Fahrzeug:

class Vehicle {
    private String vehicleType;
    private String colour;
    private String transmission;
    private String yearOfIssue;
}

Ein Beispiel-Objekt:

Vehicle = {vehicleType : 'Car', colour : 'Red', transmission : 'Automatic', yearOfIssue : '2008'};

In diesem Domänen-Modell gibt es keinen einzigen Feld eindeutige id (z.B. vehicleId), sondern alle Felder des Objekts bilden zusammen den Primärschlüssel (diese Einschränkung gibt es in der Datenbank-layer).

Wir haben keine Flexibilität, um eine änderung dieser domain-Modell fügen Sie ein einzelnes Feld eindeutige id.

Also meine Frage ist wie folgt - Wenn ich will hinzufügen einer einfachen REST-API auf top-dieser domain-Objekt, und bietet einfache Funktionen zum ERSTELLEN, AKTUALISIEREN, LÖSCHEN und BEKOMMEN Fahrzeuge, was die beste Praxis für die PFAD-Endpunkte für diese Methoden?

Folgenden obige Beispiel, wenn der domain-Modell ein einzelnes Feld eindeutiger Bezeichner vehicleId, dann kann ich mir vorstellen, die folgenden Endpunkte:

GET /vehicles/:vehicleId
PUT /vehicles/:vehicleId
DELETE /vehicles/:vehicleId

Ich bin mir nicht bewusst, ein Muster, das vorhanden ist, ähnlich wie dies für den composite-Schlüssel wie:

GET /vehicles/:vehicleTypecolourtransmissionyearOfIssue
GET /vehicles/CarRedAutomatic2008

scheint nicht korrekt zu sein.

Einen Rat, ein gutes Muster zu Folgen für diesen Anwendungsfall würde sehr geschätzt werden.

Dank

InformationsquelleAutor JoshDavies | 2015-09-07
Schreibe einen Kommentar