Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

230
Views
¿Cómo leer los parámetros POST en una aplicación sin servidor con Lambda?

Estoy enviando un formulario a una función Lambda implementada por serverless, aquí está el yml:

 functions: hello: handler: handler.hello events: - http: POST hello

Ahora mi función hola es:

 module.exports.hello = (event, context, callback) => { const response = { statusCode: 200, body: JSON.stringify({ message: 'Go Se222rverless v1.0! Your function executed successfully!', input: event, }), }; callback(null, response); };

Puedo ver en el resultado que se pasaron las variables, pero están almacenadas en la propiedad event.body como tales:

 "body":"email=test%40test.com&password=test12345"

Ahora puedo acceder a esta cadena, pero no puedo leer variables individuales de ella, a menos que haga alguna transformación de expresiones regulares que, creo, no sería el caso en una pila tan moderna como serverless/aws.

¿Qué me estoy perdiendo? ¿Cómo leo las variables individuales?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Parece que su terminal sin servidor está recibiendo datos con Content-Type: application/x-www-form-urlencoded . Puede actualizar la solicitud para usar datos JSON en su lugar para acceder a las variables de publicación de la misma manera que lo haría con otros objetos de JavaScript.

Asumiendo que esto no es una opción; aún puede acceder a los datos del cuerpo de su publicación utilizando el módulo de cadena de consulta del nodo para analizar el cuerpo de la solicitud, aquí hay un ejemplo:

 const querystring = require('querystring'); module.exports.hello = (event, context, callback) => { // Parse the post body const data = querystring.parse(event.body); // Access variables from body const email = data.email; ... }

Solo recuerde si algunos de los parámetros en el cuerpo de la publicación usan nombres que son identificadores de objetos de JavaScript no válidos para usar la notación de corchetes, por ejemplo:

 const rawMessage = data['raw-message'];
over 4 years ago · Santiago Trujillo Report

0

Puede usar un módulo de querystring de consulta Node para analizar el cuerpo POST.

over 4 years ago · Santiago Trujillo Report

0

La documentación del controlador para los diversos modelos de programación implica que el tipo de evento de API Gateway es un flujo de bajo nivel. Eso significa que debe usar otros métodos para extraer el contenido del cuerpo del POST.

Formato de entrada

 { "resource": "Resource path", "path": "Path parameter", "httpMethod": "Incoming request's method name" "headers": {Incoming request headers} "queryStringParameters": {query string parameters } "pathParameters": {path parameters} "stageVariables": {Applicable stage variables} "requestContext": {Request context, including authorizer-returned key-value pairs} "body": "A JSON string of the request payload." "isBase64Encoded": "A boolean flag to indicate if the applicable request payload is Base64-encode" }

Dotnet Solo el tipo System.IO.Stream se admite como parámetro de entrada de forma predeterminada.

Evento de Python: este parámetro suele ser del tipo dictado de Python. También puede ser de tipo list, str, int, float o NoneType.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!