Maybaygiare.org

Blog Network

7 métodos HTTP que todo desarrollador web debería saber y cómo probarlos

Alguna vez se preguntó cuál es la diferencia entre las solicitudes GET y POST, o cuándo usar PUT? No estás sola. Tener una comprensión básica de los diferentes métodos HTTP, o verbos, un APIsupports es un conocimiento útil al explorar y probar las API.

En esta publicación, explicaré cómo se utiliza cada método HTTP y cómo incorporarlos en las pruebas de la API.

los Métodos HTTP

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS

GET

GET solicitudes son los más comunes y los métodos utilizados en la Api de andwebsites. En pocas palabras, el método GET se utiliza para recuperar datos de un servidor en el recurso especificado. Por ejemplo, supongamos que tiene un APIwith un punto final /users. Al realizar una solicitud GET a ese punto de conexión, se debe devolver una lista de todos los usuarios disponibles.

Dado que una solicitud GET solo solicita datos y no modifica ningún recurso, considera un método seguro e idempotente.

Probar una API con solicitudes GET

Cuando está creando pruebas para una API, el método GET probablemente sea el tipo de solicitud más frecuente realizada por los consumidores del servicio, por lo que es importante verificar todos los endpoints conocidos con una solicitud GET.

En un nivel básico, estas cosas deben validarse:

  • Compruebe que una solicitud GET válida devuelve un código de estado 200.
  • Asegúrese de que una solicitud GET a un recurso específico devuelve los datos correctos. Por ejemplo, GET /users devuelve una lista de usuarios.

GET es a menudo el método predeterminado en los clientes HTTP, por lo que la creación de pruebas para estos recursos debe ser sencilla con cualquier herramienta que elija.

POST

En servicios web, POST las solicitudes se utilizan para enviar datos al APIserver para crear o crear un recurso. Los datos enviados al servidor se almacenan en el cuerpo de la petición HTTP.

El ejemplo más sencillo es un formulario de contacto en un sitio web. Cuando rellena las entradas en un formulario y presiona Enviar, esos datos se colocan en el cuerpo de respuesta de la solicitud y se envían al servidor. Esto puede ser JSON, XML o parámetros de consulta (hay muchos otros formatos,pero estos son los más comunes).

Vale la pena señalar que una solicitud POST no es idempotente. Modifica datos en el servidor backend (creando o actualizando un recurso), a diferencia de una solicitud GET que no cambia ningún dato. Aquí hay una gran explicación de la idempotencia.

Probar una API con solicitudes POST

El segundo método HTTP más común que encontrarás en tus pruebas de API es POST. Como se mencionó anteriormente, las solicitudes POST se utilizan para enviar datos al servidor API y crear o actualizar un recurso. Dado que las solicitudes de publicación modifican los datos, es importante tener pruebas de API para todos tus métodos de PUBLICACIÓN.

Estos son algunos consejos para probar las solicitudes POST:

  • Cree un recurso con una solicitud POST y asegúrese de que se devuelva un código de estado 200.
  • A continuación, haga una solicitud GET para ese recurso y asegúrese de que los datos se guardaron correctamente.
  • Agregue pruebas que garanticen quePOST las solicitudes fallan con datos incorrectos o mal formateados.

Para más ideas sobre escenarios comunes de pruebas de API,echa un vistazo a esta publicación.

PUT

Simlar to POST, PUT las solicitudes se utilizan para enviar datos a la API toupdate o crear un recurso. La diferencia es que las solicitudes de salida son inoportunas. Eso es, llamar a la misma solicitud de venta varias veces siempre producirá el mismo resultado. Por el contrario, llamar a una solicitud POST repetidamente hace que tenga efectos secundarios al crear el mismo recurso varias veces.

por lo General, cuando un PUT solicitud se crea un recurso del servidor willrespond con un 201Created), y si la solicitud modifiesexisting de recursos, el servidor devolverá un 200OK) o 204NoContent).

Probar una API con solicitudes PUT

Probar una API PUT los métodos son muy similares a probar POSTrequests. Pero ahora que conocemos la diferencia entre los dos(idempotencia), podemos crear pruebas de API para confirmar este comportamiento.

Compruebe estas cosas al probar solicitudes PUT:

  • Llamar repetidamente a una solicitud PUT siempre devuelve el mismo resultado(idempotente).
  • El código de estado adecuado se devuelve al crear y actualizar un recurso (por ejemplo, 201 o 200204).
  • Después de actualizar un recurso con una solicitud PUT, una solicitudGET para ese recurso debe devolver los datos correctos.
  • PUT las solicitudes deben fallar si se proporcionan datos no válidos en la solicitud nothing no se debe actualizar nada.

PATCH

A PATCH la solicitud es uno de los métodos HTTP menos conocidos, pero lo incluyo así de alto en la lista, ya que es similar a POST andPUT. La diferencia con PATCH es que solo se aplican modificaciones parciales al recurso.

La diferencia entre PATCH y PUT, es que la solicitud de PATCH no es idempotente (como una solicitud POST).

Para ampliar la modificación parcial, supongamos que la API tiene un punto final/users/{{userid}} y un usuario tiene un nombre de usuario. Con la solicitud aPATCH, es posible que solo necesite enviar el nombre de usuario actualizado en el cuerpo de la solicitud, en lugar de POST y PUT, que requieren la entidad de usuario completo.

Probar una API con solicitudes de PARCHES

Dado que el método PATCH es tan sencillo de PUBLICAR y PONER, se aplican muchas de las mismas técnicas de prueba. Sigue siendo importante validar el comportamiento de cualquier punto final de API que acepte este método.

Qué buscar al probar solicitudes de PARCHES:

  • Una solicitud exitosa PATCHdebe devolver un código de estado 2xx.
  • PATCH las solicitudes deben fallar si se proporcionan datos no válidos en la solicitud nothing no se debe actualizar nada.

La semántica de las solicitudes de PARCHES dependerá en gran medida de la API específica que esté probando.

ELIMINAR

El método DELETE es exactamente como suena: elimine el recurso en la URL especificada. Este método es uno de los más comunes en RESTfulAPIs, por lo que es bueno saber cómo funciona.

Probar una API con solicitudes de ELIMINACIÓN

DELETE las solicitudes deben someterse a pruebas exhaustivas, ya que generalmente eliminan datos de una base de datos. Tenga cuidado al probar métodos de ELIMINACIÓN, asegúrese de usar las credenciales correctas y no hacer pruebas con datos de usuario real.

Un caso de prueba típico para una solicitud de ELIMINACIÓN se vería así:

  1. Crear un nuevo usuario con un POST solicitud /users
  2. Con el id de usuario devuelve desde el POST, hacer un DELETE solicitud /users/{{userid}}
  3. Una posterior GET solicitud /users/{{userid}} debe devolver un mensaje de error 404 no se encuentra el código de estado.

Además, el envío de una solicitud de ELIMINACIÓN a un recurso desconocido debe devolver un código de estado distinto de 200.

HEAD

El método HEAD es casi idéntico a GET, excepto sin el cuerpo de respuesta. En otras palabras, si GET /users devuelve una lista de usuarios, entonces HEAD /users hará la misma solicitud pero no recuperará la lista de usuarios.

Las peticiones HEAD son útiles para comprobar qué devolverá una petición GET antes de hacer una petición GET actually como antes de descargar un archivo grande o responsebody. Obtén más información sobre las solicitudes HEAD en MDN.

Vale la pena señalar que no todos los endpoints compatibles con Get admitirán HEAD: depende completamente de la API que esté probando.

Probar una API con solicitudes HEAD

Realizar solicitudes de API con métodos HEAD es en realidad una forma efectiva de simplemente verificar que un recurso está disponible. Es una buena práctica tener una prueba para solicitudes HEAD en todas partes donde tenga una prueba para solicitudes GET (siempre y cuando la API lo admita).

Compruebe estas cosas al probar una API con peticiones HEAD:

  • Verificar y chequear los encabezados PTTP devueltos desde una solicitud HEAD
  • Hacer aserciones contra el código de estado de las solicitudes HEAD
  • Probar solicitudes con varios parámetros de consulta r para garantizar que APIresponds

Otro caso útil para HEAD requestsisAPI prueba de humo: haga una solicitud HEAD contra cada extremo de la API para asegurarse de que estén disponibles.

OPCIONES

Por último, pero no menos importante, tenemos solicitudes OPTIONS. Las solicitudes de opciones son una de mis favoritas, aunque no se usan tan ampliamente como los otros métodos HTTP. En pocas palabras, una solicitud de OPCIONES debe devolver datos describiendo qué otros métodos y operaciones admite el servidor en la URL dada.Las solicitudes de OPCIONES

se definen y usan de forma más flexible que las demás,lo que las convierte en un buen candidato para probar errores fatales de API. Si anAPI no espera una solicitud de OPCIONES, es bueno colocar una caseína de prueba que verifique el comportamiento fallido.

Probar una API con solicitudes de OPCIONES

Probar una solicitud OPTIONS depende del servicio web; sea o no compatible con eso y lo que se supone que debe devolver definirá cómo debe probarlo.

Cómo validar un punto final mediante OPCIONES:

  • Principalmente, compruebe los encabezados de respuesta y el código de estado de la solicitud
  • Probar puntos finales que no admiten OPCIONES y asegúrese de que fallan adecuadamente

Más recursos

Lo que he comentado anteriormente es solo un punto de partida para analizar métodos toHTTP y probar varios recursos de una API. También supone un caso ideal en su mayoría: en el mundo real, las API no están tan estructuradas como los ejemplos anteriores. Esto hace que probar varios métodos contra un APIan sea una forma efectiva de encontrar errores inesperados.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.