¿Qué hace esta skill?

La Patrones Ktor para APIs Skill genera esqueletos completos de servidores HTTP con Ktor aplicando patrones probados: estructura de proyecto, routing DSL, autenticación JWT, inyección de dependencias con Koin, serialización kotlinx y testing con testApplication. Produce código listo para ejecutar con respuestas uniformes ApiResponse, manejo centralizado de errores en StatusPages y tests que cubren rutas públicas, protegidas y WebSockets.

API REST desde cero
Crea un servidor Ktor completo con plugins instalados en orden: serialización, autenticación, errores, CORS, DI y routing.
Configuración de plugins
Configura Auth, CORS, ContentNegotiation y StatusPages con manejo centralizado de excepciones y códigos HTTP consistentes.
Inyección con Koin
Integra Koin en tu proyecto Ktor para inyectar servicios y repositorios de forma limpia mediante módulos configurables.
Tests de integración
Escribe tests con testApplication que validen rutas públicas, endpoints protegidos por JWT y WebSockets sin levantar servidor real.

Ejemplos de uso

🚀 API completa
Crea un servidor Ktor con rutas de usuarios, autenticación JWT y serialización JSON usando ApiResponse<T>.
💉 Configurar Koin
Configura Koin en mi proyecto Ktor para inyectar UserService y UserRepository en los handlers.
🧪 Test de integración
Escribe un test con testApplication para el endpoint GET /users que valide el estado HTTP y el cuerpo JSON.
💬 WebSocket de chat
Implementa un WebSocket de chat en Ktor con broadcast de mensajes y gestión de conexiones.

Características

Routing DSL por dominio Organiza las rutas en funciones extensoras de Route por dominio (userRoutes(), authRoutes()) con handlers ligeros.
Autenticación JWT Protege rutas sensibles con authenticate("jwt") y extrae el usuario mediante una extensión ApplicationCall.userId().
Inyección de dependencias con Koin Inyecta servicios con val service by inject<Service>() desde módulos Koin definidos en AppModule.kt.
Respuestas uniformes ApiResponse<T> Modela peticiones y respuestas con @Serializable y un envoltorio genérico { success, data, error } para consistencia total.
Testing integrado con testApplication Genera tests que validan estado HTTP, cuerpo JSON y autenticación JWT sin levantar un servidor real.

Preguntas frecuentes

La skill genera el código y la estructura del proyecto, pero necesitas tener configurado un proyecto Kotlin con las dependencias de Ktor en tu build.gradle.kts.
Configura ContentNegotiation para serialización kotlinx, Authentication para JWT, StatusPages para manejo de errores, CORS y Koin para inyección de dependencias.
Sí. La skill genera patrones para WebSockets con configuración de pingPeriod, maxFrameSize y gestión de conexiones con broadcast de mensajes.
Sí. El código generado es un punto de partida que puedes adaptar. Los patrones siguen convenciones de Ktor pero son totalmente personalizables.

Skills relacionadas

Mas skills de la misma categoria:

Patrones Ktor para APIs — Servidores HTTP robustos con Claude AI

¿Prefieres escuchar el contenido? Genera la narración de audio con un clic.