
Una 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 de estado representacional. Es un estilo arquitectónico que consta de un conjunto de restricciones que se utilizarán al crear servicios web.
RESTful API es una API que sigue la arquitectura REST. Por lo general, las API REST usan el protocolo HTTP para enviar y recuperar datos y respuestas con formato JSON. Puede usar los 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 usar cualquier biblioteca o herramienta que pueda realizar solicitudes HTTP.
Las solicitudes de API se componen de cuatro partes diferentes:
- El punto final. Esta es la URL que el cliente usa 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 pasar información adicional entre el servidor y el cliente, como la autorización.
- El cuerpo. Los datos enviados al servidor.
En este artículo, vamos a discutir cómo usar curl
para interactuar con las API RESTful. curl
es una utilidad de línea de comandos para transferir datos desde o hacia un servidor remoto. Se instala de forma predeterminada en macOS y en la mayoría de las distribuciones de Linux.
Opciones de rizo #
La sintaxis del curl
El comando es el siguiente:
curl [options] [URL...]
Estas son las opciones que usaremos al realizar solicitudes:
-X
,--request
- El método HTTP que se utilizará.-i
,--include
- Incluya los encabezados de respuesta.-d
,--data
- Los datos a enviar.-H
,--header
- Encabezado adicional a enviar.
HTTP OBTENER #
El método GET solicita un recurso específico del servidor.
GET es el método predeterminado cuando se realizan solicitudes HTTP con curl
. Este es un ejemplo de cómo realizar una solicitud GET a JSONPlaceholderAPI a 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
Publicación HTTP #
El método POST se utiliza para crear un recurso en el servidor. Si el recurso existe, se anula.
El siguiente comando realiza una solicitud POST utilizando los datos especificados con -d
opción:
curl -X POST -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts
El tipo del cuerpo de la solicitud se especifica utilizando el Content-Type
encabezamiento. 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 usa 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 PUT -d "title=Hello Universe" https://jsonplaceholder.typicode.com/posts/5
ELIMINAR HTTP #
El método DELETE elimina el recurso especificado del servidor.
curl -X DELETE https://jsonplaceholder.typicode.com/posts/5
Autenticación #
Si el extremo de la API requiere autenticación, deberá obtener una clave de acceso. De lo contrario, el servidor API responderá con el mensaje de respuesta "Acceso prohibido" o "No autorizado".
El proceso de obtención de una clave de acceso depende de la API que esté utilizando. Una vez que tenga su token de acceso, puede enviarlo 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 más información sobre curl
, visite la página de documentación de Curl.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.