L
L
Laravel 5
Search…
Probar una API con cURL
Para probar una API lo podemos hacer fácilmente utilizando el comando curl desde consola, el cual permite enviar peticiones de cualquier tipo a una URL, especificar las cabeceras, parámetros, etc.
Por ejemplo, para realizar una petición tipo GET a una URL simplemente tenemos que hacer:
1
$ curl -i http://localhost/recurso
2
3
HTTP/1.1 200 OK
4
Transfer-Encoding: chunked
5
Date: Fri, 27 Jul 2012 05:11:00 GMT
6
Content-Type: text/plain
7
8
¡Hola Mundo!
Copied!
Donde la opción -i indica que se muestren las cabeceras de la respuesta.
Opcionalmente, al hacer la petición podemos indicar las cabeceras con el parámetro -H. Por ejemplo, para solicitar datos en formato JSON tenemos que hacer:
1
$ curl -i -H "Accept: application/json" http://localhost/recurso
2
3
HTTP/1.1 200 OK
4
Date: Fri, 27 Jul 2012 05:12:32 GMT
5
Cache-Control: max-age=42
6
Content-Type: application/json
7
Content-Length: 27
8
9
{
10
"text": "¡Hola Mundo!"
11
}
Copied!
Como hemos visto por defecto se realiza una petición tipo GET. Si queremos realizar otro tipo de petición lo tendremos que indicar con el parámetro -X seguido del método a utilizar (POST, PUT, DELETE). Además, con la opción -d podemos añadir los parámetros de la petición. Los parámetros tendrán que ir entre comillas y en caso de indicar varios los separaremos con &. Por ejemplo, para realizar una petición tipo POST con dos parámetros:
1
$ curl -i -H "Accept: application/json" -X POST
2
-d "name=javi&phone=800999800" http://localhost/users
Copied!
De la misma forma podemos hacer una petición tipo PUT (para actualizar datos) o tipo DELETE (para eliminarlos). Por ejemplo:
1
$ curl -i -H "Accept: application/json" -X PUT
2
-d "name=new-name" http://localhost/users/1
3
4
$ curl -i -H "Accept: application/json" -X DELETE http://localhost/users/1
Copied!
Para añadir más de una cabecera tenemos que indicar varias veces la opción -H, por ejemplo:
1
$ curl -i -H "Accept: application/json"
2
-H "Content-Type: application/json" http://localhost/resource
3
4
$ curl -i -H "Accept: application/xml"
5
-H "Content-Type: application/xml" http://localhost/resource
Copied!
Por ejemplo, si queremos realizar una petición tipo POST que envíe código JSON y que también espere la respuesta en JSON tendríamos que indicar ambas cabeceras y añadir el JSON que queramos en los parámetros con -d de forma normal:
1
$ curl -i -H "Accept: application/json"
2
-H "Content-Type: application/json" -X POST
3
-d '{"title":"xyz","year":"xyz"}' http://localhost/resource
Copied!
Como resumen, las opciones más importantes de curl son:
Opción
Descripción
-i
Mostrar las cabeceras de respuesta
-H "header"
Configurar las cabeceras de la petición
-X <type>
Indicar el método de la petición: POST, PUT, DELETE. Si no indicamos nada la petición será de tipo GET.
-d "params"
Añadir parámetros a la petición. Los parámetros tendrán que ir entre comillas "". Si queremos pasar varios parámetros utilizaremos como separador "&"

Plugins o extensiones

Además de curl también podemos utilizar otro tipo de programas para probar una API. En Firefox y Chrome podemos encontrar extensiones que nos facilitarán este tipo de trabajo. Por ejemplo, en Firefox podemos encontrar:
Una vez instalado los podremos abrir desde el menú Herramientas, y utilizarlo a través de una interfaz visual muy sencilla.
Para Chrome también podemos encontrar muchas extensiones si buscamos en su tienda (https://chrome.google.com/webstore/category/apps). Algunas opciones interesantes son "Advanced REST client" o "Postman - REST Client".
Copy link