Laravel 5
  • Contenidos
  • Introducción
  • Capítulo 1. Primeros pasos
    • Instalación
    • Funcionamiento básico
    • Rutas
    • Artisan
    • Vistas
    • Plantillas mediante Blade
    • Ejercicios
  • Capítulo 2. Controladores, middleware y formularios
    • Controladores
    • Middleware o filtros
    • Rutas avanzadas
    • Redirecciones
    • Formularios
    • Ejercicios
  • Capítulo 3. Base de datos
    • Configuración inicial
    • Migraciones
    • Schema Builder
    • Inicialización de la BD
    • Constructor de consultas
    • Eloquent ORM
    • Ejercicios
  • Capítulo 4. Datos de entrada y control de usuarios
    • Datos de entrada
    • Control de usuarios
    • Ejercicios
  • Capítulo 5. Paquetes, Rest y Curl
    • Instalación de paquetes adicionales
    • Controladores de recursos RESTful
    • Probar una API con cURL
    • Autenticación HTTP básica
    • Respuestas especiales
    • Ejercicios
Powered by GitBook
On this page

Was this helpful?

  1. Capítulo 5. Paquetes, Rest y Curl

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:

$ curl -i http://localhost/recurso

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Date: Fri, 27 Jul 2012 05:11:00 GMT
Content-Type: text/plain

¡Hola Mundo!

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:

$ curl -i -H "Accept: application/json" http://localhost/recurso

HTTP/1.1 200 OK
Date: Fri, 27 Jul 2012 05:12:32 GMT
Cache-Control: max-age=42
Content-Type: application/json
Content-Length: 27

{
    "text": "¡Hola Mundo!"
}

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:

$ curl -i -H "Accept: application/json" -X POST 
        -d "name=javi&phone=800999800" http://localhost/users

De la misma forma podemos hacer una petición tipo PUT (para actualizar datos) o tipo DELETE (para eliminarlos). Por ejemplo:

$ curl -i -H "Accept: application/json" -X PUT 
        -d "name=new-name" http://localhost/users/1

$ curl -i -H "Accept: application/json" -X DELETE http://localhost/users/1

Para añadir más de una cabecera tenemos que indicar varias veces la opción -H, por ejemplo:

$ curl -i -H "Accept: application/json" 
        -H "Content-Type: application/json" http://localhost/resource

$ curl -i -H "Accept: application/xml" 
        -H "Content-Type: application/xml" http://localhost/resource

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:

$ curl -i -H "Accept: application/json" 
        -H "Content-Type: application/json" -X POST 
        -d '{"title":"xyz","year":"xyz"}' http://localhost/resource

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.

PreviousControladores de recursos RESTfulNextAutenticación HTTP básica

Last updated 5 years ago

Was this helpful?

HttpRequester:

Poster:

Para Chrome también podemos encontrar muchas extensiones si buscamos en su tienda (). Algunas opciones interesantes son "Advanced REST client" o "Postman - REST Client".

https://addons.mozilla.org/en-US/firefox/addon/httprequester/
https://addons.mozilla.org/en-US/firefox/addon/poster/
https://chrome.google.com/webstore/category/apps