Generá una API cliente Feign a partir del contrato
- 
Importá
GenerateTask(principio debuild.gradle)build.gradleimport org.openapitools.generator.gradle.plugin.tasks.GenerateTask - 
Necesitamos las dependencias Spring Cloud Starter OpenFeign, Feign OkHttp, Feign Jackson y Feign Gson. Agregalas en la sección de
dependenciesdebuild.gradle:build.gradleimplementation 'org.springframework.cloud:spring-cloud-starter-openfeign:4.2.1'
implementation 'io.github.openfeign:feign-okhttp:13.5'
implementation 'io.github.openfeign:feign-jackson:13.5'
implementation 'io.github.openfeign:feign-gson:13.5' - 
Configurá una nueva tarea de openapi-generator (al final de
build.gradle):build.gradletasks.register("openApiGenerate_feign_jsonplaceholder", GenerateTask) {
apiPackage = "com.typicode.jsonplaceholder.api".toString()
configOptions = [
"feignClient": "true",
"interfaceOnly": "true",
"useEnumCaseInsensitive": "true",
"useJakartaEe": "true"
]
generateApiTests = false
generateApiDocumentation = false
generateModelTests = false
generateModelDocumentation = false
generatorName = "java"
inputSpec = "$rootDir/src/main/resources/openapi/jsonplaceholder.yaml".toString()
library = "feign"
modelPackage = "com.typicode.jsonplaceholder.model".toString()
outputDir = layout.buildDirectory.dir("generated/sources/openapi").get().asFile.toString()
}- Podés encontrar más información sobre las diferentes configuraciones posibles en la página de GitHub del plugin de Gradle para OpenAPI Generator.
 - Recomendaciones personales:
- En 
apiPackageusá la url que vamos a integrar en formato Java, y que termine en.api(jsonplaceholder.typicode.com->com.typicode.jsonplaceholder.api) - La misma idea para 
modelPackage(jsonplaceholder.typicode.com->com.typicode.jsonplaceholder.model) 
 - En 
 - Es importante asegurarte de que 
inputspecesté apuntando al archivo YAML de la OpenAPI Specification deseada. 
 - 
Asegurate de que
compileJavaahora dependa de ambas tareas de generación de OpenAPI:build.gradletasks.named('compileJava') {
dependsOn 'openApiGenerate', 'openApiGenerate_feign_jsonplaceholder'
} - 
Ahora que todo está configurado, ejecutá la tarea Build. Cuando la tarea termine, si chequeás la carpeta
build\generated\sources\openapi, vas a encontrar una nueva carpetajsonplaceholder.typicode.comcon la representación de la OpenAPI Specification en código Java, lista para ser usada.
 
Commiteá el progreso hasta ahora.
git add .
git commit -m "código de secondary adapter api externa generado a partir de una openapi specification"