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

282
Vistas
¿Cómo manejar una solicitud de publicación en next.js?

Quiero configurar una ruta POST en mi carpeta api usando next.js, y estoy enviando los datos a la ruta pero no puedo analizar los datos para guardarlos en la base de datos. ¿Cuál es la mejor manera de manejar las rutas POST en next.js? particularmente analizando los datos en formato JSON ?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Para que las solicitudes POST funcionen en las rutas API de Next.js, es probable que desee hacer 3 cosas.

  • Limite el método a POST
  • Use JSON.parse() para analizar el JSON en la ruta
  • Enviar una solicitud al backend

Ruta API

Las rutas API en Next.js admiten de forma predeterminada todos los tipos de solicitudes, incluidas GET, POST, DELETE, etc. Por lo tanto, si bien no es necesario, es una buena idea restringir la ruta a los métodos que desea admitir.

En su caso, si solo desea admitir solicitudes POST en una ruta determinada, use req.method para filtrar las solicitudes que no son posteriores.

 if (req.method !== 'POST') { res.status(405).send({ message: 'Only POST requests allowed' }) return }

Para analizar el JSON, todo lo que puede usar JSON.parse() .

 const body = JSON.parse(req.body)

Póngalo todo junto, y su ruta API debería verse así:

 // pages/route-name.js export default function handler(req, res) { if (req.method !== 'POST') { res.status(405).send({ message: 'Only POST requests allowed' }) return } const body = JSON.parse(req.body) // the rest of your code }

Enviar la solicitud

Por último, debe enviar una solicitud POST desde su código de front-end al backend. Es posible que ya sepa cómo hacer esto, pero mencione esto para completar.

 fetch('/api/route-name', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(objectWithData), })

Aparte rápido, no necesita preocuparse por la compatibilidad entre navegadores para fetch con Next.js. Next.js agrega automáticamente un polyfill cuando es necesario .

over 4 years ago · Santiago Trujillo Denunciar

0

Como en todo, depende. En Next.js v12, no necesita JSON.parse(req.body) en la ruta de la API, siempre que NO haya establecido explícitamente bodyParser: false en la configuración exportada para la ruta de la API (consulte https://nextjs.org /docs/api-routes/api-middlewares ). El req.body se analizará automáticamente en un objeto, por ejemplo, si el content-type de la solicitud es application/json . En este caso, dado que el contenido se analiza previamente en un objeto, intentar ejecutar JSON.parse(req.body) en la API probablemente generará un error.

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