馃挰 Comentarios con API Routes
Aprende a crear un sistema de comentarios para tu blog usando las API Routes de Next.js.
馃搶 脥ndice de esta entrada:
- 馃洜️ ¿Qu茅 son las API Routes?
- ⚡ Crear una API Route para guardar comentarios
- 馃搵 Crear un formulario de comentarios en el front-end
- 馃攧 Conectar el formulario con la API
- 馃挕 Consejos y buenas pr谩cticas
馃洜️ ¿Qu茅 son las API Routes?
Las API Routes en Next.js te permiten crear endpoints de servidor directamente en tu proyecto. Se pueden usar para recibir datos de formularios, guardar informaci贸n en una base de datos, o comunicarte con servicios externos.
Las rutas se crean dentro de la carpeta pages/api/ y funcionan como cualquier endpoint REST.
⚡ Crear una API Route para guardar comentarios
Vamos a crear un archivo pages/api/comments.js para recibir los comentarios:
export default function handler(req, res) {
if (req.method === 'POST') {
const { name, message } = req.body;
// Aqu铆 normalmente guardar铆as los datos en una base de datos
console.log('Nuevo comentario:', name, message);
res.status(200).json({ status: 'ok', message: 'Comentario recibido' });
} else {
res.status(405).json({ error: 'M茅todo no permitido' });
}
}
Esta API recibe comentarios mediante un POST y responde con un mensaje de 茅xito.
馃搵 Crear un formulario de comentarios
En tu p谩gina de post, agrega un formulario para que los usuarios puedan enviar comentarios:
import { useState } from 'react';
export default function CommentForm() {
const [name, setName] = useState('');
const [message, setMessage] = useState('');
const [status, setStatus] = useState('');
const handleSubmit = async (e) => {
e.preventDefault();
setStatus('Enviando...');
const res = await fetch('/api/comments', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ name, message }),
});
const data = await res.json();
setStatus(data.message);
setName('');
setMessage('');
};
return (
<form onSubmit={handleSubmit}>
<input
type="text"
placeholder="Tu nombre"
value={name}
onChange={(e) => setName(e.target.value)}
required
/>
<br />
<textarea
placeholder="Tu comentario"
value={message}
onChange={(e) => setMessage(e.target.value)}
required
/>
<br />
<button type="submit">Enviar</button>
<p>{status}</p>
</form>
);
}
馃攧 Conectar el formulario con la API
El formulario env铆a los datos al endpoint /api/comments usando fetch.
Cuando el servidor recibe los datos, devuelve un mensaje que se muestra en el formulario.
As铆 puedes probar tu API localmente ejecutando npm run dev y enviando comentarios desde el formulario.
馃挕 Consejos y buenas pr谩cticas
- Valida siempre los datos del formulario antes de enviarlos.
- Usa una base de datos real como MongoDB, Firebase o PostgreSQL para guardar comentarios.
- Evita exponer datos sensibles en la API.
- Agrega protecci贸n contra spam si tu blog estar谩 en producci贸n.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias