HTTP Request - form data - cómo especificar content-type para algunos campos

Describe the problem/error/question

Necesito ejecutar una solicitud HTTP con form-data, donde para 1 de los campos se especifica un tipo de contenido.

En Postman se ve de la siguiente manera

Cuando creo un fragmento cUrl de esta solicitud en Postman, se ve así:

curl --location ‘http://someUrl’ \

–form ‘data=“Some sample text about some very important topic”’ \

–form ‘params=“{\“projectId\” : [\“1223\”], \“showMatchingDetails\”:true, \“showMatchingPosition\”: true}”;type=application/json

Observa el tipo del campo params al final.

Entonces, cuando creo un flujo de trabajo simple con HTTP Request, no veo dónde pueda especificar el tipo de contenido del campo params:

Cuando ejecuto el flujo de trabajo, obtengo un error que dice que Content-Type es incorrecto.

También lo intenté con Form-Data, el mismo error:

También intenté importar el cURL, mismo error.

Entonces mi pregunta es: ¿hay alguna forma de especificar un Content-type para un campo específico en una solicitud form-data?

What is the error message (if any)?

500 - “{\“voidResponse\”:{\“success\”:false,\“status\”:500,\“message\”:\“Content-Type ‘application/x-www-form-urlencoded’ is not supported\”,\“resultType\”:\“text/plain\”,\“result\”:null}}”

Please share your workflow

Share the output returned by the last node

Information on your n8n setup

  • n8n version: 2.21.7
  • Database (default: SQLite): Postgres
  • n8n EXECUTIONS_PROCESS setting (default: own, main): own
  • Running n8n via (Docker, npm, n8n cloud, desktop app): docker
  • Operating system: Windows

Hola @Daniil_Dukat

¿Puedes probar esto?

  1. Nodo de código: Crea una propiedad binaria llamada data. Es crucial que establezca el mimeType en application/json.
  2. Nodo de solicitud HTTP:
    • Tipo de contenido del cuerpo: Establecido en multipart-form-data.
    • Campo 1 (data): Un campo de texto estándar que se asigna a la salida JSON del nodo de código.
    • Campo 2 (params): El parameterType se establece en formBinaryData y el inputDataFieldName se establece en data. Esto le indica a n8n que tome el objeto binario que creamos y lo envíe con su tipo MIME asociado (application/json).

Claro, lo intento ahora. Gracias

¡Hola @kjooleng! Muchas gracias, ¡eso funciona! :clinking_beer_mugs:

Me alegra ayudar…