Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

788
Vistas
¿Puede AWS API Gateway admitir `application/x-www-form-urlencoded` con parámetros de cadena de consulta y cuerpo?

Numerosos servicios pueden aceptar parámetros de cadena de consulta en la URL cuando se realiza una solicitud POST con Content-Type: application/x-www-form-urlencoded y otros parámetros en el cuerpo, pero parece que AWS API Gateway no puede aceptar parámetros de cadena de consulta. .

Cuando llamo a AWS API Gateway con una plantilla de mapeo POST para application/x-www-form-urlencoded y parámetros de URL de cadena de consulta (con una función Lambda), aparece el siguiente error:

 { "message":"When Content-Type:application/x-www-form-urlencoded, URL cannot include query-string parameters (after '?'): '/prod/webhook?inputType=wootric&outputType=glip&url=...'" }

Aquí hay un ejemplo de cURL:

 curl -XPOST 'https://{myid}.execute-api.{myregion}.amazonaws.com/prod/webhook? \ inputType=wootric&outputType=glip&url=https://hooks.glip.com/webhook/ \ 11112222-3333-4444-5555-666677778888' \ -d "@docs/handlers/wootric/event-example_response-created.txt" \ -H 'Content-Type: application/x-www-form-urlencoded' -v

El objetivo específico es publicar un evento de webhook de Wootric en una función de Lambda mediante una URL con parámetros de cadena de consulta.

Puedes obtener el código aquí:

https://github.com/grokify/chathooks

El archivo del cuerpo del evento de Wootric está aquí:

https://raw.githubusercontent.com/grokify/chathooks/master/docs/handlers/wootric/event-example_response-created.txt

El problema de GitHub está aquí:

https://github.com/grokify/chathooks/issues/15

El mensaje de error parece bastante definitivo, pero quería preguntar:

  1. ¿Hay alguna solución para configurar una puerta de enlace API para admitir ambos?
  2. ¿Hay alguna razón basada en estándares por la que AWS no admita esto o es solo una decisión/limitación de diseño?

Si no hay solución para esto, ¿hay alguna buena solución ligera que no sea la implementación de una solución de servidor alojado como Heroku? Además, ¿otros servicios en la nube admiten esto con su puerta de enlace API + funciones en la nube, como Google?

Algunos ejemplos que muestran soporte para ambos:

  • Ejemplo de jQuery: jQuery envía parámetros GET y POST simultáneamente a solicitud de AJAX
  • Ejemplo de C#: Acceso a variables de cadena de consulta enviadas como POST en HttpActionContext
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Sí, hay una solución alternativa y el problema clave es configurar la plantilla de mapeo que convertirá la cadena en json. Ejemplo muy detallado que se muestra en API Gateway para cualquier tipo de contenido .

over 4 years ago · Santiago Trujillo Denunciar

0

Establezca la propiedad de solicitud como "Tipo de contenido", "aplicación/json" para su HttpURLConnection como se muestra a continuación: conexión.setRequestProperty("Tipo de contenido", "aplicación/json");

over 4 years ago · Santiago Trujillo Denunciar

0

Tuve un problema similar, con un proveedor externo que usa enlaces web. Resulta que mi proveedor está transformando la ruta de la URL de UPPERCASE a LOWERCASE . Por ejemplo, el punto final debería ser apigateway.com/dev/0bscur3dpathRANDOM en lugar apigateway.com/dev/0bscur3dpathRANDOM . Tú entiendes.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda