Sebastian Gomez
Crear una API Rest con Next.js es muy fácil. Simplemente sigue estos pasos:
api dentro de la carpeta pages.next-connect y cors para manejar los diferentes métodos y la comunicación entre cliente y servidor.A continuación, te presento un ejemplo detallado de cómo hacerlo. 🧐
📂 Estructura de archivospages
api
hello.js⚠️ Recuerda que las rutas de las APIs de Next.js no son lo mismo que las Serverless API Functions que Vercel ofrece en su plataforma, aunque comparten algunas similitudes.
📝 Ejemplo de endpoint// Creamos un archivo llamado 'data.js' dentro de la carpeta 'api' en la carpeta 'pages'
// Este archivo exporta una función anónima que maneja la solicitud HTTP GET para la ruta '/api/data'
export default (req, res) => {
// Establecemos el código de estado de la respuesta HTTP en 200
res.statusCode = 200;
// Establecemos el tipo de contenido de la respuesta HTTP en 'application/json'
res.setHeader("Content-Type", "application/json");
// Enviamos como respuesta HTTP un objeto JSON que contiene la propiedad 'estamosEn' con el valor 'Medellín JS'
res.end(JSON.stringify({ estamosEn: "Medellín JS" }));
};
npm i next-connect corsor
yarn add next-connect corsnext-connect// Importamos las bibliotecas 'next-connect' y 'cors'
import nc from "next-connect";
import cors from "cors";
// Creamos un objeto manejador de eventos de 'next-connect'
const handler = nc()
// Agregamos el middleware de 'cors' al manejador de eventos
.use(cors())
// Establecemos el método HTTP GET y enviamos una respuesta con el texto "Hola Medellín JS"
.get((req, res) => {
res.send("Hola Medellín JS");
})
// Establecemos el método HTTP POST y enviamos una respuesta con un objeto JSON que contiene la propiedad 'hola' con el valor 'MedellinJS'
.post((req, res) => {
res.json({ hola: "MedellinJS" });
})
// Establecemos el método HTTP PUT y enviamos una respuesta con el texto "Hola Amigos"
.put(async (req, res) => {
res.end("Hola Amigos");
});
// Exportamos el objeto manejador de eventos como el valor predeterminado del archivo
export default handler;
Rutas:
POST /api/commentPATCH /api/comment/:idDELETE /api/comment/:idGET /api/comment/:idGET /api/comment/Estructura de carpetas:
pages
api
comments
[id].js
index.jsEn este post, aprendimos cómo:
next-connect para manejar rutas y métodos en nuestra API.next-connect y cors nos permiten manejar rutas, métodos y comunicaciones entre cliente y servidor de manera eficiente.👋 No dudes en dejar un comentario si te fue útil este artículo, si tienes alguna duda, o si deseas añadir
Creador de contenido principalmente acerca de tecnología.