2010-04-14 10 views
17

Ich entwerfe RESTful APIs und möchte einen Ratschlag zum Entwerfen einer API, wo der Aufrufer Datensätze basierend auf mehr als einem Suchparameter abfragen möchte.Was ist der beste Weg, um mehrere Abfrageparameter an eine erholsame API zu übergeben?

Ich habe nur erholsame Apis gesehen, die einen Parameter verwenden.

wie soll ich das tun?

z.B. Wenn ich eine erholsame API für eine Liste von Kontakten erstellt habe, wie würde ich einen Anruf formatieren, der alle Kontakte mit Vorname zurückgegeben == bob & Nachname == Smith?

Ich denke, es sollte ein GET sein, weil ich abrufe?

Meine einzigen Gedanken sind:

http://api.myapi.com/contacts/firstname/bob&surname=smith

Aber das scheint nicht richtig ;-(

Bitte Beratung

Auch dies eine des PHP-Frameworks dies unterstützen.? zB symfony, konstrukt etc.

+0

Ja, mit Symfony können Sie einfach URLs erstellen, die wie '/ contacts/bob/smith' aussehen. –

+0

würde mich das zwingen, nur zweiten param Nachnamen zu geben? – DEzra

Antwort

22

ich glaube

http://api.myapi.com/contacts?firstname=bob&surname=smith 

ist der Weg zu gehen, wenn Sie einen Satz von Parametern haben, die alle optional sind.

+2

stimme ich zu; es heißt die "Abfrage" Zeichenfolge – rojoca

+0

ja, ich mag das. Ich denke mal nach Query-String: $ _SERVER ['QUERY_STRING'] enthält Vorname = Bob & Nachname = Smith. oder: $ _GET ['Vorname'] ist besser - weniger Parsing benötigt. http://ditio.net/2008/06/12/php-query-string/ – DEzra

+0

Sie könnten sogar $ _GET durchlaufen, um die Abfrage zu erstellen – Galen

Verwandte Themen