Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

285
Visualizações
¿Cuál es la forma correcta de usar openapi-generator para generar stubs de servidor ktor?

Cuando intento generar stubs del lado del servidor para ktor desde openapi, la salida para mí no parece muy útil.

Configuré un proyecto de ejemplo en Github , donde se puede revisar la configuración. Como necesito usar maven en mi proyecto real, también lo usé aquí, pero supongo que esto no debería marcar la diferencia con otros métodos de generación.

La parte relevante del POM es esta:

 <build> ... <plugins> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> <executions> <execution> <id>resources</id> <phase>compile</phase> <goals><goal>copy-resources</goal></goals> <configuration> <outputDirectory>${project.build.directory}/classes</outputDirectory> <resources> <resource> <directory>${project.basedir}/resources</directory> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build>

Lo que se generará es lo siguiente:

  • Modelo de datos
  • Un objeto Paths.kt que contiene las rutas a mis rutas en formato ktor-ubicaciones
  • Un trozo de ejemplo que implementa la API como una función de extensión de io.ktor.routing.Route
  • Una aplicación completa, que incluye configuraciones, Dockerfile, Gradle Files, etc.

Viniendo de SpringBoot y Swagger, estoy un poco confundido, ya que este conjunto de archivos no es realmente útil si desea crear una aplicación real que implemente una lógica comercial real. Hubiera esperado alguna implementación predeterminada que contuviera métodos únicos que solo necesito implementar/anular. Me doy cuenta de que ktor no tiene DI incorporado, por lo que también esperaría tener que extender el código auxiliar de routing en mi aplicación de alguna manera.

Sin embargo, con este conjunto de código generado, realmente solo puedo usar el modelo de datos y el objeto Paths.kt . Tendré mi propia aplicación y la implementación predeterminada que no puedo anular, pero necesito reescribir completamente yo mismo.

Entonces, mi pregunta es cómo configurar una aplicación ktor adecuada que implemente las especificaciones de openapi. ¿Me pierdo algo o realmente solo obtengo el modelo y Paths.kt para trabajar?

Editar

Para mayor claridad: especialmente con estas partes de mi aplicación, no estoy feliz de no tener soporte de las herramientas:

 fun Application.module(testing: Boolean = false) { // other setup routing { // some other interfaces I may have FooApiImpl() } }
 /** * This Api Implementation has to be written completely manually. No help from the generated Code... */ @KtorExperimentalLocationsAPI fun Route.FooApiImpl() { get<Paths.getAllFoos> { call.respond(listOf( Foo( id = -1, bar = "hello"), Foo( id = -2, bar = "world") )) } // the path gets named after the first method, which is weird in my eyes. post<Paths.getAllFoos> { val foo = call.receive<Foo>() // fooService.save(foo) call.respond(foo) } delete<Paths.deleteFooById> { path -> val id = path.id // fooService.deleteById(id) call.respond(HttpStatusCode.NoContent) } }
over 4 years ago · Hanz Gallego
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda