Saltar al contenido principal

Entendiendo el código generado

Exploremos brevemente qué produjo el plugin openapi-generator y por qué se ve tan verboso.

¿Qué hay dentro del código generado?

  • Modelos: Clases Java que reflejan tus schemas de OpenAPI (por ejemplo, User). Incluyen anotaciones de validación, lógica de serialización y patrones Builder.
  • Interfaces de API: Interfaces de Spring con @RestController (por ejemplo, UsersApi) que definen tus endpoints y las firmas de sus métodos.

¿Por qué se ve tan complicado?

El código generado incluye:

  • Código boilerplate para compatibilidad con OpenAPI/Spring (por ejemplo, anotaciones @Validated, @Generated).
  • Lógica de validación (por ejemplo, @NotNull, @Size) para asegurar tu contrato.
  • Soporte para serialización/deserialización (por ejemplo, mapeo de JSON ↔ objeto Java).

¿Por qué no deberías preocuparte (demasiado)?

  • Es autogenerado: Tratalo como una dependencia compilada: la usás, no la modificás.
  • Filosofía contract-first: El código coincide exactamente con tu spec de OpenAPI. Si necesitás cambios, actualizá el archivo YAML y volvé a generar.
  • Libre de mantenimiento: El generador maneja las actualizaciones, así que evitás la refactorización manual.

Enfocate en usar el código generado, no en sus detalles internos. ¡Dejá que la herramienta haga el trabajo pesado!