2010-04-14 14 views
17

Estoy diseñando RESTful Api y me gustaría obtener algunos consejos sobre el diseño de una API donde la persona que llama quiere consultar registros basados ​​en más de un parámetro de búsqueda.¿Cuál es la mejor manera de pasar múltiples parámetros de consulta a una api relajante?

Solo he visto apis reparadores que usan un parámetro.

¿cómo debo hacer esto?

p. Ej. si he creado una API apta para una lista de contactos, ¿cómo formatearía una llamada que devolvió todos los contactos con nombre == bob & apellido == smith?

Supongo que debería ser un GET porque estoy recuperando?

Mis únicos pensamientos son:

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

Pero eso no parece justo ;-(

consejos favor

También, realice cualquiera de los marcos de soporte para PHP esto.? por ejemplo, symfony, konstrukt etc.

+0

Sí, con Symfony puede crear URL que se parecen fácilmente a '/ contacts/bob/smith'. –

+0

¿me obligaría esto a permitir que el segundo param sea el apellido? – DEzra

Respuesta

22

Creo

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

es el camino a seguir si tiene un conjunto de parámetros, todos los cuales son opcionales.

+2

Estoy de acuerdo; se llama cadena de "consulta" – rojoca

+0

sí, me gusta esto. Supongo que por Cadena de consulta quieres decir: $ _SERVER ['QUERY_STRING'] contiene firstname = bob & surname = smith. o: $ _GET ['firstname'] es mejor, se necesita menos análisis. http://ditio.net/2008/06/12/php-query-string/ – DEzra

+0

incluso podría recorrer $ _GET para crear la consulta – Galen

Cuestiones relacionadas