Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

218
Visualizações
¿Cómo definir el punto final de la función Netlify como POST?

Soy nuevo en serverless y estoy tratando de entenderlo. Así que he creado una función en netlify usando GET y funciona bien.

Luego, quería un punto final POST , así que seguí el mismo formato y creé una función similar. Pero luego envié una solicitud POST a esta nueva función. Al revisar console.log en el servidor, me doy cuenta de que se lee como una solicitud con un método GET (httpMethod: 'GET'). Y luego me di cuenta de que no había definido el método de punto final que habría hecho en un servidor normal.

Pero no tengo idea de cómo hacer eso.

Pregunta

¿Hay alguna forma diferente de hacer una función GET y una función POST en netlify o sin servidor?

Si la respuesta es Sí, entonces por favor guíeme en esto.

Si la respuesta es No, y las funciones están escritas de la misma manera, ¿alguien puede decirme por qué netlify lee mi solicitud POST como GET ?

Aquí está el código de la función en codesandbox .. https://codesandbox.io/s/serverless-function-2xebuf?file=/src/index.js

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Publicar la respuesta a esto para que me sirva como recordatorio y si ayuda a alguien en el futuro que tenga problemas similares.

Gracias a @alessiopremoli por compartir que no se puede definir explícitamente a qué verbo debe responder el controlador de función ... eso respondió a mi primera pregunta: ¿Hay alguna forma diferente de hacer una función GET y una función POST en netlify o sin servidor?

El segundo problema al que me enfrenté fue que mi solicitud POST estaba siendo leída por netlify como GET ... Me di cuenta de cuál era el problema... hay una configuración para las reglas de redirección en el archivo netlify.toml que simplifica la URL a la API... puede escribir "site.com/api/functionName.js" en lugar de "site.com/.netlify/functions/functionName.js"

 [[redirects]] from = "/*" to = "/blog/:splat"

y estaba usando esto para mis rutas api como

 [[redirects]] from="/api/*" to="/.netlify/functions/:splat"

para simplificar el acceso a mi ruta api... pero no me di cuenta de que, de manera predeterminada, el código de estado para esta redirección es 301, lo que cambia el método a GET y esto también cambia el método de mi solicitud. Entonces, para aquellos que enfrentan este problema, espero que esto ayude.

Si se trata de una solicitud POST y está utilizando una opción de redirección, asegúrese de agregar el estado de 200 o simplemente llame a la función utilizando la ruta predeterminada que ha establecido, por ejemplo, "site.com/.netlify/functions/functionName.js"

Entonces, cambiar la regla de redirección a la que se muestra a continuación solucionó el problema para mí

 [[redirects]] from="/api/*" to="/.netlify/functions/:splat" status=200

Aquí está el enlace al equipo de soporte de netlify que ayudó a resolver este problema que lo explica mejor ( https://answers.netlify.com/t/does-using-the-redirects-route-to-a-function-call-change- el-método-de-la-solicitud-desde-post-to-get/55760/5 )

about 4 years ago · Juan Pablo Isaza Relatório

0

Según mi experiencia, no puede definir explícitamente a qué verbo debe responder el controlador de función, generalmente configuro una verificación en el verbo de evento:

 if (event.httpMethod !== 'POST') { return { statusCode: 501, body: JSON.stringify({ message: "Not Implemented" }), headers: { 'content-type': 'application/json' } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda