API REST en Rust con ntex

Guía práctica para crear una REST API en Rust con ntex, OpenAPI y Swagger UI sin base de datos, con modelo Todo, documentación automática y pruebas con curl. Repositorio en GitHub.

4 sept 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Hola, hoy comparto una guía práctica para crear una REST API en Rust con ntex. Es más sencillo de lo que parece. En lugar de conectar a base de datos, el foco está en generar especificaciones OpenAPI y servir una interfaz Swagger UI para documentar y probar los endpoints.

El código completo está disponible en github.

Requisitos previos: tener Rust instalado y configurado.

Inicializa el proyecto con el comando cargo init my-rest-api y entra en el directorio del proyecto. La estructura mínima incluye los archivos Cargo.toml y src con main.rs.

Para formateo, puedes habilitar rustfmt y, si usas VSCode, configurar format on save y revisar con clippy al guardar. Es opcional.

Instala el framework HTTP ntex con el runtime tokio usando cargo add ntex --features tokio. Este runtime gestionará async await de forma eficiente.

Ejecuta cargo run para compilar y arrancar el servidor. Con curl -v localhost:8080 deberías recibir un 200 OK con un texto de saludo en la ruta raiz.

Arquitectura de endpoints: crea una carpeta src servicios para organizar las rutas. Define un servicio por defecto que responda con 404 para rutas no registradas y configúralo con default_service al construir la App de ntex.

Serialización y documentación: añade dependencias para JSON y OpenAPI con cargo add serde --features derive y cargo add serde_json utoipa utoipa-swagger-ui.

Errores tipificados: crea un tipo HttpError con campos msg y status, impleméntalo como error estándar y conviértelo a ntex web HttpResponse mediante WebResponseError. Así devolverás respuestas coherentes y autodescriptivas en formato JSON.

Modelos de datos: define el modelo Todo con id entero, title texto y completed booleano, más un TodoPartial para crear y actualizar. Deriva Serialize Deserialize y ToSchema para que se generen los esquemas OpenAPI de forma automática.

Endpoints REST de ejemplo para una lista de tareas:

GET barra todos lista todas las tareas y devuelve un arreglo de Todo

POST barra todos crea una tarea a partir de un JSON con TodoPartial y devuelve el nuevo Todo

GET barra todos barra llave id llave obtiene una tarea por id y devuelve 404 si no existe

PUT barra todos barra llave id llave actualiza por id recibiendo un TodoPartial

DELETE barra todos barra llave id llave elimina por id

Con las macros de utoipa path puedes anotar cada handler para describir método, ruta, petición y respuestas. Luego, en un módulo openapi, agrega todas las rutas en una estructura ApiDoc con derive OpenApi e incluye los componentes de esquema Todo, TodoPartial y HttpError.

Swagger UI y especificación: expón un scope en barra explorer barra para servir la interfaz de Swagger UI y un endpoint swagger.json con la especificación OpenAPI generada. Al ejecutar cargo run, abre el explorador en http dos puntos barra barra localhost dos puntos 8080 barra explorer barra y prueba los endpoints directamente desde la interfaz.

Consejos de organización: usa configure para registrar módulos de rutas como servicios todo y openapi, y mantén un servicio por defecto para 404. Esta modularización facilita escalar la API y añadir middlewares de forma clara.

Pruebas rápidas: con curl, prueba GET a localhost dos puntos 8080 barra todos y revisa el código de estado. Para POST, envía un JSON con campos del parcial de Todo y verifica el 201 Created.

Branding y valor añadido: en Q2BSTUDIO desarrollamos aplicaciones a medida y software a medida con Rust, Node, Python y más, cuidando escalabilidad, ciberseguridad, observabilidad y despliegue continuo. Nuestro equipo integra inteligencia artificial y agentes IA en APIs para automatizar procesos y habilitar analítica avanzada. Si buscas un partner para construir tu próxima API o plataforma multiplataforma, descubre cómo abordamos proyectos end to end en aplicaciones a medida y software a medida. También ayudamos a crear soluciones de inteligencia artificial e IA para empresas que conectan con tus datos y tus flujos de negocio.

Otras capacidades destacadas de Q2BSTUDIO que pueden potenciar tu API y tu producto digital incluyen ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, power bi, automatización de procesos, diseño de arquitecturas de microservicios e integración continua. Nuestro objetivo es acelerar el time to market con calidad técnica y foco en negocio.

Documentación recomendada para ampliar

ntex para servidor HTTP asincrónico

serde para serialización

serde_json para JSON

utoipa para OpenAPI y Swagger UI

Bonus imagen de Docker de producción

Genera un binario estático con el target musl usando una etapa builder basada en rust alpine, instala dependencias de compilación, compila en modo release y opcionalmente comprime con upx para reducir tamaño. En una segunda etapa usa scratch como runtime y copia el binario. Construye la imagen con docker build -t my-rest-api dos puntos 0.0.1 -f Dockerfile punto. Este enfoque produce imágenes mínimas, seguras y rápidas de desplegar.

Opcional en Cargo.toml activa un perfil release con optimizaciones, unidades de codegen reducidas, strip y lto para binarios más pequeños y eficientes.

Conclusión crear una REST API en Rust con ntex, utoipa y serde permite servicios rápidos, seguros y bien documentados. Anímate a construir tu siguiente backend en Rust y, si buscas un equipo experto para llevarlo a producción con ciberseguridad, servicios cloud aws y azure, agentes IA o analítica con power bi, cuenta con Q2BSTUDIO.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat