¿Qué es una API y un Servicio Web?
Una API (Interfaz de Programación de Aplicaciones) permite que diferentes sistemas interactúen entre sí. Un servicio web es una implementación de una API que permite el intercambio de datos a través de internet.
Ejemplo de una API REST en Node.js con Express
Este código muestra cómo crear una API REST básica con Node.js y Express:
const express = require('express');
const app = express();
app.get('/saludo', (req, res) => {
res.json({ mensaje: '¡Hola, Mundo desde REST API!' });
});
app.listen(3000, () => {
console.log('API REST ejecutándose en http://localhost:3000');
});
Las APIs REST utilizan rutas para definir los recursos y devolver respuestas en formato JSON.
Ejemplo de una API GraphQL en Node.js con Express
Este código muestra cómo definir una API GraphQL en Node.js:
const { graphqlHTTP } = require('express-graphql');
const { buildSchema } = require('graphql');
const express = require('express');
const schema = buildSchema(`
type Query {
saludo: String
}
`);
const root = {
saludo: () => '¡Hola, Mundo desde GraphQL!'
};
const app = express();
app.use('/graphql', graphqlHTTP({
schema: schema,
rootValue: root,
graphiql: true
}));
app.listen(4000, () => {
console.log('API GraphQL ejecutándose en http://localhost:4000/graphql');
});
GraphQL permite consultas flexibles, devolviendo solo los datos solicitados por el cliente.
Conclusión
REST y GraphQL son herramientas poderosas para la creación de APIs y servicios web. La elección depende de las necesidades del proyecto: REST es más tradicional y ampliamente adoptado, mientras que GraphQL ofrece mayor flexibilidad en las consultas.