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 consiste en 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 DELETEyPATCH
  • 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 curlpara interactuar con las API RESTful. curles 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 comando es la siguiente:curl 

curl [options] [URL...]

Estas son las opciones que usaremos al realizar solicitudes:

  • -X, --request- El método HTTP a utilizar.
  • -i, --include- Incluir los encabezados de respuesta.
  • -d, --data- Los datos a enviar.
  • -H, --header- Cabecera adicional a enviar.

OBTENER HTTP

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 la API JSONPlaceholder 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 la -dopció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 mediante el Content-Typeencabezado. Por defecto cuando no se le da curluso a este encabezado 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 tengas tu token de acceso puedes enviarlo en el encabezado:

curl -X GET -H "Authorization: Bearer {ACCESS_TOKEN}" "https://api.server.io/posts"

Conclusión

Le mostramos cómo utilizar curlpara realizar solicitudes de API de prueba. Para obtener más información acerca de curl, visite la página de documentación de Curl .

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.