En está ocasión veremos cómo consumir una API desde una aplicación hecha con C#.
Se tratará de una aplicación sencilla y sin usar un framework web.
Tendremos una aplicación Cliente y otra Servidor.
En este caso el cliente lo haremos con C# y la aplicación servidor con Node JS.
Comencemos.
1. Creamos una aplicación C# con dotnet.
$ mkdir proyecto-api $ cd proyecto-api $ dotnet new webapi
2. Modificamos el programa principal:
Program.cs
using System; using System.Net.Http; using System.Threading.Tasks; using System.Web; class Program { static async Task Main(string[] args) { using (var client = new HttpClient()) { var query = System.Web.HttpUtility.ParseQueryString(string.Empty); query["id"] = "1234"; var uriBuilder = new UriBuilder("http://localhost:3000/api/saludo"); uriBuilder.Query = query.ToString(); var request = new HttpRequestMessage { Method = HttpMethod.Get, RequestUri = uriBuilder.Uri }; request.Headers.Add("application-name", "Aplicacion .NET"); var response = await client.SendAsync(request); var responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } } }
Este será nuestro programa cliente que accederá a un servicio de Node Js. Le mandaremos un id y el nombre de la aplicación (este en los encabezados). Colocaremos la URL del servicio y el método HTTP a usar, en este caso será el método GET, pues queremos obtener un resultado.
Ahora el servicio con Node JS.
1. Creamos el proyecto:
$ mkdir proyecto-rest $ cd proyecto-rest $ npm init -y
Esto nos generará un package.json. Lo editaremos más adelante. Ahora es necesario instalar Express JS en caso de no tenerlo.
$ npm install express
2. Creamos un archivo JS que será nuestro programa servidor.
index.js
import express from 'express'; const app = express(); const port = 3000; // Parsear JSON app.use(express.json()); app.get('/', (req, res) => { res.send('Hola, mundo desde Node JS y Express.'); }); app.get('/api/saludo', (req, res) => { const id = req.query.id || 'desconocido'; const appName = req.headers['application-name'] || 'sin nombre'; res.json({ mensaje: `¡Hola! Recibí tu ID: ${id}`, origen: `Aplicación: ${appName}` }); }); app.listen(port, () => { console.log(`Escuchando desde el puerto: http://localhost:${port}`); });
Nuestro servicio estará expuesto en la URL: http://localhost:3000/saludo
3. Editamos el archivo ``package.json``
{ "name": "proyecto-rest", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "Codemonkey Junior", "license": "ISC", "description": "Un sencillo servicio con Node JS", "type": "module", "dependencies": { "express": "^5.1.0" } }
Ahora podremos ejecutar el proyecto Node JS con este comando:
$ npm start
Y ejecutamos el cliente:
$ dotnet build $ dotnet run
Si todo va bien veremos esto en la consola:
{"mensaje":"¡Hola! Recibí tu ID: 1234","origen":"Aplicación: Aplicacion .NET"}
Con esto hemos creado nuestra aplicación que consume una sencilla API de Node JS.
Enlaces:
https://alquimistadecodigo.blogspot.com/2025/09/node-consumiendo-una-api-publica.html
No hay comentarios:
Publicar un comentario