Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de Postman 2020

Curso de Postman 2020

Eduardo Álvarez

Eduardo Álvarez

Llamados a un API con el método post utilizando Form Data

9/17
Recursos

Aportes 43

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Reto realizado:

1. Mediante x-www-form-urlencoded

2. Mediante form-data

Estimado profesor Eduardo Álvarez, enséñenos por favor a como instalar LA API DE COURSES para hacer el taller 😠

De esta manera se podrían pasar los datos con form-data
![](

Resumen de clase:
Los llamados a un API usando el método POST pueden hacerse de varias maneras.

  1. Enviando información en **formato JSON **(visto en la clase anterior)

  2. Usando el método x www form urlencoded (en cuyo caso, la URL envía la información)

  3. Utilizando el método form-data (que sirve especialmente para subir archivos sin necesidad de haberlos pasado a Base24)

Para ver las diferencias entre métodos, es muy útil consultar la consola que tiene el propio Postman (la versión RAW porque la “Pretty” omite detalles).

Recuerdo que FormData lo conocí gracias a jQuery, investigando cómo se subía una imagen usando Ajax y me topé con algo llamado FormData, con el tiempo me di cuenta que es el mismo tipo de envío que usan los formularios HTML, es uno de mis métodos de envío favoritos:D

Reto resuelto:
.

x-www-form-urlencoded
Para x-www-form-urlencoded hay varias opciones, una de ellas es usando el mismo nombre de la variable:

Los datos se mandan de esta forma:

Otra forma es utilizar corchetes despues de la variable

Los datos se mandan de esta forma:

.
.

Form Data
Para form data es practicamente igual, el ejemplo con corchetes:

Se envían como arreglo:

Y repitiendo el nombre de la imagen:

Los datos se envían como arreglo:

En ete caso aunque se enviaron como arreglo el API tomo un valor para agregar el comentario:

la consola me parecio una herramienta muy buena

Este curso esta como malo no? es como muy especifico a la data del profe y no el funcionamiento de la herramienta

Hola compañeros

La clave está en los Headers. Para el x-www-form-urlencoded dejarlo así en los Headers:

Lo hice con un ejemplo sencillo de autenticación, se tiene que ingresar el valor en el KEY y el VALUE del Body para x-www-form-urlencoded:

Y para el form-data desactivar los Headers:

Y ponerlo igual en el Body con el KEY y el VALUE:

Gracias

![](

<code> 
"id": 5,
    "name": "Curso Automation",
    "description": "Con este curso aprenderas sobre automatizacion",
    "teachers": [
        {
            "id": 6,
            "name": "Isilreiberth Perez",
            "description": "Tester QA",
            "current_job": "Funder",
            "created_at": "2021-10-09T22:28:34.688717Z",
            "updated_at": "2021-10-09T22:28:34.688726Z"
        },
        {
            "id": 7,
            "name": "Williams Hidalgo",
            "description": "Tester Automation",
            "current_job": "Tech Leader",
            "created_at": "2021-10-09T22:28:34.692834Z",
            "updated_at": "2021-10-09T22:28:34.692850Z"
        }
    ],
    "ranking": "0.00",
    "created_at": "2021-10-09T22:28:34.687177Z",
    "updated_at": "2021-10-09T22:28:34.687199Z"

Enviar un objeto dentro de un array con form-data o x-www-form-urlencoded:

Holaaa chicos! Para quién se encuentra por estos rumbos, les comparto la solución para enviar los datos de un arreglo de objetos (teachers) del endpoint POST=>course.

key => teachers[0]name
key => teachers[0]description
key => teachers[0]current_job

Con https://urlencode.org/ puedes convertir cualquier string a formato encode. Es muy útil para ir aprendiendo y relacionarte con este formato 😃

Que API recomiendan que no sea la del curso, ya que mi intel celeron no quiere ayudarme con docker?

Envié con comentario con form data. Si logre el reto

Reto realizado
Insertar un curso con x-www- form-urlencoded

Insertar un curso con form-data

¿Alguno sabe el porqué el status 500?

form-data

Los que no han podido instalarlo les dejo un paso a paso pero en windows
PD: toca en PDF por que Platzi no me dej colocar enlaces de notion

9. Utilizando método POST para: generar un like y dislike. Utilizando el método POST con x-www-form-urlencoded y con form-data.

Utilizando el método POST para generar un like o dislike
En ocasiones se puede crear un recurso solo con la información que se envía por el url. Un caso ejemplo es like o dislike que puede llevar un comentario.

Generando un like con el método POST

  1. Utilizar él la url con el método post.
    POST URL http : // localhost:8000/api/comments/1/like/

Al momento de colocar el like al final de la url, este ejecuta la acción que es aumentar los likes de un comentario.

  1. En la pestaña Headers se envían dos cosas: 1) Se le informa al servidor que tipo de datos se está enviando esto se hace utilizando el key content-type, y luego se envía la información del token generado utilizando la palabra Authorization, se vería así:
    Key Value
    Content-type application/json
    Authorization Token 67dcb98f7f675e3774fddff7a31ca77fa040a7cb
  2. Luego realizar la petición

Generando un dislike con el método POST

  1. Utilizar él la url con el método post.

    POST URL http : // localhost:8000/api/comments/1/dislike/
  2. En la pestaña Headers se envían dos cosas: 1) Se le informa al servidor que tipo de datos se está enviando esto se hace utilizando el key content-type, y luego se envía la información del token generado utilizando la palabra Authorization, se vería así:

    Key Value
    Content-type application/json
    Authorization Token 67dcb98f7f675e3774fddff7a31ca77fa040a7cb
  3. Luego realizar la petición

Utilizando el método POST con x-www-form-urlencoded

El método con x-www-form-urlencoded que se encuentra en Body, sirve para enviar la información tmabién, se puede decir que la información a través de la url de cierta forma. La forma para enviar información esto datos en postman es rellenando campos/valores (key/value) como se hace en la pestaña Params Estos datos se envían por url es abriendo la consola de postman y detallando la petición.

<h5>Crear un comentario con x-www-form-urlencoded</h5>
  1. Utilizar él la url con el método post.

    POST URL http : // localhost:8000/api/comments/
  2. En la pestaña Headers se envían dos cosas: 1) Se le informa al servidor que tipo de datos se está enviando esto se hace utilizando el key content-type, y luego se envía la información del token generado utilizando la palabra Authorization, se vería así:

    Key Value
    Content-type application/x-www-form-urlencoded
    Authorization Token 67dcb98f7f675e3774fddff7a31ca77fa040a7cb
  3. Para enviar la información en postman se selecciona en la pestaña body la opción, x-www-form-urlencoded

  4. Luego se muestra campos/valores (key/value) se colocan el nombre de los campos juntos con sus valores

  5. Se realiza la peteición

Utilizando el método POST con form-data

A diferencia de x-www-form-urlencoded y raw form-data sirve para enviar archivos. La unica forma de enviar archivo con otros método es que se codificque en base a 64

<h5>Cargar un archivo con form-data</h5>

para este caso prácto se cargará el badge del curso de postman que tiene un id 4, este curso de postman no viene cargado por defecto en la bases de datos de los cursos. Este curso fue creado en clases anteriores

  1. Utilizar él la url con el método post.

    POST URL http : // localhost:8000/api/courses/4/upload_badge/
  2. En la pestaña Headers colocamos el token generado utilizando la palabra Authorization, se vería así:

    Key Value
    Authorization Token 67dcb98f7f675e3774fddff7a31ca77fa040a7cb
  3. Para enviar un archivo a tráves de la api se suele usar form-data, para hacer esto en postman, se selecciona en la pestaña body la opción: form-data una a ves allí, se muestra campos/valores (key/value) para enviar información como se hace en la pestaña Params. En la parte key colocamos el nombre del key “badge”, es el nombre del campo para subir la imagen del curso. Al lado del key se muestra un menú desplegable y se puede hacer clic y selecciona la opción file, al hacer esto en value se mostrar un botón que permite cargar el archivo

  4. para comprobar que cargo el archivo se puede consultar la siguiente url
    http : // localhost:8000/media/badges/badge-postaman-sin-fondo.png

Reto completado

SIIUU!

Intente agregarle un material

course:4
title:Materiales Bomnitos
description:Description de los materiales Bomnitos↵
is_active:true
videos[0]provider:YouTube
videos[0]url:https://www.youtube.com/

Lista en Postman usando el verbo POST
()

Aprendiendo

Reto Done 😄 !

Mediante x-www-form-urlencoded

name: "test x-www "
description: "test description x-www "
teachers[0]name: "silnose x-www"
teachers[0]description: "ninja developer x-www"
teachers[0]current_job: “platzi x-www”

Enviar un array con form-data o x-www-form-urlencoded:

Intentando hacer la practica …

?

Intente enviarlo para agregar un material
course:4 title:Materiales Bomnitos description:Description de los mAteriales Bomnitos↵ is_active:true videos[0]provider:A videos[0]url:https://www.youtube.com/

No sabia que se podía enviar imágenes 🤯

Saludos,
Mi pregunta es: ¿Cómo puedo hacer un llamado a un método estático en Postman? Si le paso por ejemplo de un controlador, un servicio, como puedo llamar a un método estático que haga referencia a ese servicio?
Gracias de antemano.

Fue dificil, lo resolvi hasta el segudno dia, despues de checar muchas respuesta de stackoverflow, el problema era enviar el arreglo pero que estaba anidado, la mejor propuesta y que funciono fue aqui:
Is it possible to send an array with the Postman
y otra opcion
Send array as part of x-www-form-urlencoded
Pero aqui esta el resultado:
que no me dejaba avanzar
y el reto realizado:

Llamados a un API con el método post utilizando Form Data

<h3>⠀⠀</h3>

⠀⠀
Hay veces en las que necesitamos hacer peticiones por el método post pero sin enviar información, sino que en toda URL está la información para crear el registro en la base de datos.
⠀⠀
Un ejemplo de esto es un Like o Dislike a un comentario.
⠀⠀
Nosotros en la clase pasada utilizamos JSON como formato para enviar datos, pero no es el único formato. El método POST acepta otro método.
⠀⠀

  1. JSON
  2. x-www-form-urlencoded
  3. form-data
    ⠀⠀
    El formato JSON ya lo conocemos. El no. 2 es para enviar subir datos desde la interfaz en una tabla y la tercera nos sirve para subir documentos como imágenes.
    ⠀⠀
    Challenge
    ⠀⠀

Listo!

Reto completado:
.

.

¿Por que no usamos el método PATH en la request realizada para dar like en vez de POST?, después de todo lo que estamos haciendo es modificar solo una parte del recurso, ya sea, agregando likes o sacando likes.

Si bien la funcionalidad sería que solo puedan dar un like por usuario/usuaria, creo que a nivel API es mejor dejarlo con el método acorde a la acción, igualmente no va a afectar la funcionalidad fnal.

Excelente… Reforzando conocimientos.

Por que cuando uso courses/2 me da info del elemento 2 de /couses/ , y al hacer /materials/2 me da los materiales de id=2, pero /materials/ me da 404 error??

Porque cuando uso courses/2 me da mas info que ver el elemento 2 de /couses/ ??

a

Me ha gustado el uso de Postman, muy buena herramienta.