Introducción
La interfaz de programa de aplicación (API) es un conjunto de definiciones y protocolos que permite que los programas de software se comuniquen entre sí.
El término REST significa transferencia estatal representativa. Es un estilo arquitectónico que consta de una serie de restricciones que se utilizarán al crear servicios web.
La API RESTful es una API que sigue la arquitectura REST. Las API REST suelen utilizar el protocolo HTTP para enviar y recuperar datos y respuestas en formato JSON. Puede utilizar métodos HTTP estándar para crear, ver, actualizar o eliminar recursos a través de la API.
Para probar e interactuar con las API RESTful, puede utilizar cualquier biblioteca o herramienta capaz de realizar solicitudes HTTP.
Las solicitudes de API constan de cuatro partes diferentes:
- El punto final. Esta es la URL que utiliza el cliente para comunicarse con el servidor.
- El método HTTP le dice al servidor qué acción quiere realizar el cliente. Los métodos más comunes son
GET
POST
PUT
DELETE
yPATCH
- Los encabezados. Se utiliza para transmitir información adicional entre el servidor y el cliente, como la autorización.
- El cuerpo (cuerpo). Los datos enviados al servidor.
En este artículo, discutiremos cómo usar curl
para interactuar con las API RESTful. curl
es una utilidad de línea de comandos para transferir datos hacia o desde un servidor remoto. Se instala de forma predeterminada en macOS y la mayoría de las distribuciones de Linux.
Opciones de rizo
La sintaxis del curl
es la siguiente:
curl [options] [URL...]
Estas son las opciones que usaremos para realizar solicitudes:
-X
,--request
: el método HTTP que se utilizará.-i
,--include
: incluye encabezados de respuesta.-d
,--data
: los datos que se enviarán.-H
,--header
: encabezado adicional para enviar.
HTTP GET
El método GET solicita un recurso específico del servidor.
GET es el método predeterminado al realizar solicitudes HTTP con curl
. A continuación, se muestra un ejemplo de cómo realizar una solicitud GET a la API JSONPlaceholder en una representación JSON de todas las publicaciones:
curl https://jsonplaceholder.typicode.com/posts
Para filtrar los resultados, use los parámetros de consulta:
curl https://jsonplaceholder.typicode.com/posts?userId=1
POST HTTP
El método POST se utiliza para crear un recurso en el servidor. Si el recurso existe, se sobrescribe.
El siguiente comando creará una nueva publicación usando los datos especificados con la opción -d
curl -X POST -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts
El tipo de cuerpo de la solicitud se especifica mediante el encabezado Content-Type
De forma predeterminada, cuando no se proporciona este encabezado, curl
usa Content-Type: application/x-www-form-urlencoded
Para enviar datos con formato JSON, establezca el tipo de cuerpo en application/json
:
curl -X POST -H "Content-Type: application/json" -d '{"userId": 5, "title": "Hello World", "body": "Post body."}' https://jsonplaceholder.typicode.com/posts
HTTP PUT
El método PUT se utiliza para actualizar o reemplazar un recurso en el servidor. Reemplaza todos los datos del recurso especificado con los datos de la solicitud.
curl -X PUT -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts/5
PARCHE HTTP
El método PUT se utiliza para realizar actualizaciones parciales del recurso en el servidor.
curl -X PATCH -d "title=Hello Universe" https://jsonplaceholder.typicode.com/posts/5
HTTP DELETE
El método DELETE elimina el recurso especificado del servidor.
curl -X DELETE https://jsonplaceholder.typicode.com/posts/5
Autenticación
Si el punto final de la API requiere autenticación, se debe obtener una clave de acceso. De lo contrario, el servidor de API responderá con el mensaje de respuesta "Acceso prohibido" o "No autorizado".
El proceso para obtener una clave de acceso depende de la API que esté utilizando. Una vez que tenga el token de acceso, puede ingresarlo en el encabezado:
curl -X GET -H "Authorization: Bearer {ACCESS_TOKEN}" "https://api.server.io/posts"
Conclusión
Le mostramos cómo usar curl
para realizar solicitudes de API de prueba. Para obtener más información sobre curl
, visite la página de documentación de Curl.