2016-05-17 9 views
0

Wenn PUT und DELETE Operationen kann, indem man entweder profileId oder profileName (beide sind einzigartig) auf einer Profil Ressource durchgeführt werden, was ist der richtige Weg, URLs zu bilden?Designing REST-URL für Ressource mit mehreren Kennungen

Ich mag beide unterstützen Update und Operationen auf einer Profil-Ressource löschen, wenn die profileId Senden und unterstützen sowohl Update und Operationen auf einer Profil-Ressource löschen, wenn die profileName senden.

Beim Senden der profileId, die URL für die Durchführung PUT Operationen aussehen würde:

/api/profiles/{profileId} 

Wie würde die URL aussehen, wenn die profileName schicken? Soll der profileName als Abfrageparameter gesendet werden?

/api/profiles?profileName=uniqueProfileName 

Oder gibt es eine bessere Möglichkeit, dieses Szenario zu behandeln?

+0

Hier hilft Ihnen, wie Sie ein Array in der URL senden können. Mit diesem Array können Sie die IDs behandeln, die Sie löschen möchten. http://stackoverflow.com/questions/6243051/how-to-pass-an-array-within-a-query-string –

+0

Wir wollen beide unterstützen: Das ist Update/Löschen Sie ein Profil von ProfileId und Update/Delete ein Profil von profileName –

Antwort

1

Sie konnten die profileId als Hauptidentifikator für Ihr Profil Ressourcen nutzen:

/api/profiles/{profileId} 

Und man konnte die {profileName} als sekundäre Kennung unter Verwendung einen Abfrageparameter unterstützt:

/api/profiles?name={profileName} 

Oder ein Matrixparameter:

/api/profiles;name={profileName} 
+1

Vielen Dank :) –

+0

Ich habe die 'ProfileResource' entworfen, um sowohl die Haupt-ID als auch die sekundäre ID (profileId und profileName) zu unterstützen. Einen Fehler erhalten. Die Frage wurde aktualisiert. Kannst du mir bitte dabei helfen? –

+0

@VGHegde Es sieht aus dem Umfang der ursprünglichen Frage. Warum stellst du keine neue Frage? Ich werde glücklich sein, Ihnen dort zu helfen. * Tipp: * Sie können die Abfragezeichenfolge in der Methode verwenden, die alle Profile zurückgibt und Mehrdeutigkeiten vermeidet. –

Verwandte Themen