Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como api

Uvicorn: creando un servicio REST con FastAPI

Anteriormente ya hemos hablado de FastAPI . Ahora hablaremos de Uvicorn , un servidor web ASGI ( Asynchronous Server Gateway Interface ) para Python . Uvicorn es compatible con HTTP/1.1, HTTP/2 y WebSockets. Conociendo Uvicorn Lo primero que haremos será actualizar la herramienta `` pip ``, instalaremos Uvicorn y listaremos los paquetes instalados: $ python -m pip install --upgrade pip $ pip install uv uvicorn $ pip list Creando un Hola, mundo con Uvicorn y FastAPI Crearemos el proyecto: $ uv init hola-mundo --bare $ cd hola-mundo $ uv add "fastapi[standard]" Esto hará lo siguiente: Crear el proyecto.  Ubicarnos en el directorio principal. Añadir las dependencias necesarias. Crearemos el archivo `` main.py `` y su contenido será el siguiente: from fastapi import FastAPI app = FastAPI() @app .get( "/" ) async def root (): return { "message" : "Hola, mundo" } Esta ap...

Gin Web Framework

Gin Framework es un framework web de alto rendimiento escrito en Golang que facilita la creación de aplicaciones web, APIs REST y microservicios. Se destaca por su velocidad, eficiencia y productividad, utilizando httprouter para un enrutamiento rápido y un diseño minimalista. Principales características: Veloz y con poco consumo de recursos de memoria.  Soporte de middleware.  Capaz de recuperarse a bloqueos.  Validación de JSON.  Buen manejo de errores.  Render incluido. Capaz de extenderse. Para instalarlo basta con importarlo: import "github.com/gin-gonic/gin" Veamos un ejemplo. main.go package main import ( "net/http" "github.com/gin-gonic/gin" ) func main() { // Crea un router Gin con middleware por defecto (logger y recovery) r := gin.Default() // Define un endpoint GET sencillo r.GET( "/ping" , func (c * gin.Context) { // Devuelve respuesta JSON c.JSON(http.StatusOK, gin...

Node: consumiendo una API pública

En la entrega anterior vimos cómo consumir un sencillo servicio hecho en Node desde una aplicación Spring Boot. ¿Pero qué de una API pública? Una API pública es un servicio que puede ser accesible para desarrolladores externos o para aplicaciones de terceros para poder probar su funcionalidad. Nosotros probaremos una de ellas: Chuck Norris IO La cual es una de las más populares para probar. Comenzamos creando el directorio del proyecto: $ mkdir proyecto-rest $ cd proyecto-rest Creamos el proyecto Node: $ npm init -y Necesitaremos instalar Express (en caso de no tenerlo instalarlo): $ npm install express Puedes validar si lo tienes instalado de esta manera: $ npm show express Creamos una aplicación `` app.js `` con el siguiente contenido: import express from 'express' ; const app = express(); const port = 3000 ; app.get( '/' , (req, res) => { res.send( 'Consumiendo una API pública.' ); }); app.lis...

Spring Boot: consumiendo un sencillo servicio de Node

En está ocasión haremos un sencillo servicio Spring Boot que consuma otro servicio hecho en Node .  Para ello necesitaremos: Tener instalado el JDK 17 o 21. Tener Maven instalado. Tener instalado Node. Tener un editor de código como VsCode o un IDE como Eclipse. Tener conocimiento sobre Java y Spring Boot, además de Node. ¿De qué trata el servicio a consumir? Consumiremos desde una aplicación Spring Boot un sencillo JSON hecho en un servicio Node como este: { "id" : 123 , "name" : "Thomas Muller" , "message" : "Este es un sencillo mensaje" } Cremos la aplicación Spring Boot: https://start.spring.io/ La dependencia a usar será (ademas de la de swagger): <dependency> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-starter-web </artifactId> </dependency> Creamos la configuración de nuestro proyecto. La cual nos servirá para poder usar RestTem...

Loopback: un framework para crear microservicios

Loopbak es un framework Node.js y TypeScript altamente extensible para crear API y microservicios. Características principales: Generación automática de APIs RESTful: Crea endpoints CRUD a partir de modelos de datos definidos.  Conectividad con múltiples bases de datos: Soporta SQL ( MySQL, PostgreSQL ) y NoSQL ( MongoDB ), entre otras.  Desarrollo dirigido por modelos (MDD): Simplifica la creación de APIs mediante definición de modelos.  Extensibilidad: Permite personalizar y añadir funcionalidades con hooks y middleware.  Seguridad integrada: Incluye autenticación y autorización personalizables.  Documentación automática: Genera documentación en formato Swagger/OpenAPI .  CLI potente: Herramientas de línea de comandos para agilizar la creación y gestión de proyectos.  Escalabilidad: Diseñado para manejar alto tráfico y proyectos complejos. Requisitos: Tener instalado Node JS . Instalando Loopbak Abrimos una terminal y tecle...

GraphQL en un vistazo

  El sitio oficial de GraphQL lo define como: Un lenguaje de consulta para su API y un tiempo de ejecución del lado del servidor para ejecutar consultas utilizando un sistema de tipos que usted define para sus datos. Es decir: Un lenguaje de consulta para APIs y Un entorno para ejecutar consultas para obtener solo los datos necesarios. GraphQL es una herramienta poderosa para trabajar con APIs porque permite: Consultar solo los datos que necesitas. Utilizar un único endpoint para todas las solicitudes. Mejorar el rendimiento y la eficiencia. Facilitar el desarrollo y la flexibilidad. Podemos usar Node JS para crear algún ejemplo. Primero validamos si tenemos npm y nodejs instalado: node -v npm -v Creamos un proyecto mkdir proyecto cd proyecto npm init -y Instalamos GraphQL y Apollo Server: npm install apollo-server graphql Creamos el archivo JS:  index.js const { ApolloServer, gql } = require( 'apollo-...

gRPC Unleashed! Con Renato Aguilar de Endava

En está ocasión hay un vídeo por parte de Java México sobre gRPC . Pero antes que nada... ¿Qué es gRPC? gRPC es un marco moderno de llamada a procedimiento remoto (RPC) de código abierto y alto rendimiento que puede ejecutarse en cualquier entorno.  Puede conectar de manera eficiente servicios dentro y entre centros de datos con soporte conectable para equilibrio de carga, rastreo, verificación de estado y autenticación.  También es aplicable en la última milla de la informática distribuida para conectar dispositivos, aplicaciones móviles y navegadores a servicios backend. Enlaces: https://grpc.io/