2016-05-23 10 views
2

ich eine Ressource "User" haben, für die wir speichern folgenden Details:REST API URI-Muster für die verschiedenen Ebenen der Ressourcen Details

{ 
    "id": 123, 
    "name": "John Doe", 
    "address": { 
    "line1": "411, ABC street" 
    "city": "XYZ" 
    "country": "ZZZ" 
    } 
} 

Ich brauche drei APIs meine User-Ressource zur Liste:

  1. API zur Rückgabe der Benutzer-IDs
  2. API zur Rückgabe der Benutzerliste mit IDs und Name.
  3. API mit allen Informationen Liste der Benutzer zurück (das heißt ID, Name, Adresse usw.)

Was für jeden URI-Muster soll ich die oben benutzen?

Antwort

2

Da alle drei Anforderungen sind für die gleiche Ressource, alle drei die gleiche URL verwenden sollten. Zum Beispiel:

/users 

Wenn der Client eine unterschiedliche Darstellung fordert, sollte es den richtigen HTTP-Header Accept verwenden. Sie sollten Lieferantentypen definieren, die die verschiedenen Darstellungen identifizieren. Zum Beispiel:

Um die represenation, das nur die IDs zu erhalten:

GET /users 
Accept: application/vnd.acme.users.ids+json 

die represenation einschließlich IDs und Namen zu erhalten:

GET /users 
Accept: application/vnd.acme.users.idsandnames+json 

Um die represenation einschließlich alles zu bekommen:

GET /users 
Accept: application/vnd.acme.users+json