Estoy construyendo una API REST para mi proyecto. La API para obtener la INFORMACIÓN de un usuario determinado es:
api.com/users/[USER-ID]
También me gustaría permitir que el cliente pase una lista de ID de usuario. ¿Cómo puedo construir la API para que sea RESTful y tenga una lista de ID de usuario?
Respuestas:
Si está pasando todos sus parámetros en la URL, probablemente los valores separados por comas serían la mejor opción. Entonces tendrías una plantilla de URL como la siguiente:
fuente
…?id=1&id=2&id=3
, no hay garantía de que los parámetros de consulta duplicados se combinen en una matriz. Con la cadena de consulta anterior, PHP le dice queid
es igual[1, 2, 3]
, pero Ruby on Rails le dice que es igual3
, y otros marcos también pueden actuar de manera diferente, por ejemplo, diciendoid
igual1
. Las URL como…?id=1,2,3
evitan este potencial de confusión.En mi opinión, las llamadas anteriores no parecen RESTful, sin embargo, estas son una solución rápida y eficiente (y). Pero la longitud de la URL está limitada por el servidor web, por ejemplo, tomcat .
Intento de reposo:
El servidor responderá el URI del recurso por lotes recién creado .
Ahora el cliente puede obtener la respuesta por lotes o el progreso de la tarea mediante sondeo
GET http://example.com/api/batchtask/1254
Así es como otros intentaron resolver este problema:
fuente
Encuentro otra forma de hacer lo mismo usando
@PathParam
. Aquí está el ejemplo de código.Llame al servicio utilizando la siguiente URL.
dónde
fuente
Por mucho que prefiera este enfoque: -
La forma correcta es
o
Así es como lo hace rack . Así es como lo hace php . Así es como el nodo también lo hace ...
fuente
Puede crear una API Rest o un proyecto relajante utilizando ASP.NET MVC y devolver datos como JSON. Una función de controlador de ejemplo sería:
Luego, simplemente llame a la función GetUsers a través de una función AJAX regular que proporciona la matriz de ID (en este caso, estoy usando jQuery stringify para enviar la matriz como una cadena y desmaterializarla de nuevo en el controlador, pero puede enviar la matriz de entradas y recibir como una matriz de int en el controlador). Construí una API Restful completa usando ASP.NET MVC que devuelve los datos como json de dominio cruzado y que se puede usar desde cualquier aplicación. Eso, por supuesto, si puede usar ASP.NET MVC.
fuente