Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[JavaJaxRS] Vendor Extensions Not Accessed in model.mustache

Abierto
#12,486 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
java
Área
api, backend

Línea de trabajo

Comienza con las plantillas de jaxrs-cxf, especialmente licenseInfo.mustache, model.mustache y pojo.mustache, y compara su contexto de renderizado con api.mustache y apiServiceImpl.mustache. Reproduce el problema usando el YAML de OpenAPI proporcionado y swagger-codegen-cli-3.0.24. La tarea estará terminada cuando x-year se renderice desde la plantilla licenseInfo incluida en los archivos model y POJO generados, tal como lo hace en los archivos API.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Description

When I update the licenseInfo.mustache template to reference vendor extensions and nest it in other templates, it works fine in files such as api.mustache, api_test.mustache, and apiServiceImpl.mustache. It does not output the value in model.mustache or pojo.mustache. Referencing included template variables (such as infoName) works fine.

Swagger-codegen version

swagger-codegen-cli-3.0.24 (cannot use latest at the moment due to Java version)

Swagger declaration file content or url

Unfortunately I cannot paste all of the code in here, but I can at least show how things are referenced/declared:
Folder structure:

swagger
    /gen
        /codegen
            swagger-codegen-cli-3.0.24.jar
        /templates
            /jaxrs-cxf
            <contents of JavaJaxRS folder from JAR file>
    /output
        /api
openapi: 3.0.1
x-year: 2025
info:
    name: Your Name
paths:

Declaration in licenseInfo.mustache:

{{vendorExtensions.x-year}}

Use of licenseInfo.mustache in model.mustache and api.mustache

{{>licenseInfo}}

config-api.json

{
    "hideGenerationTimestamp": true,
    "java8": true,
    "dateLibrary": "java8",
    "useSwaggerFeature": true,
    "modelPackage": "some.package.name",
    "apiPackage": "some.package.name",
    "invokerPackage": "some.package.name",
    "useOas2": false,
    "ignoreImportMappings": false,
    "importMappings": {
        "Set": "java.util.Set"
    },
    "addConsumesProducesJson": true
}
Command line used for generation
java -jar ./gen/codegen/swagger-codegen-cli-3.0.24.jar generate -D useGenericResponse=true -i swagger.yaml -t gen/templates/jaxrs-cxf -l jaxrs-cxf -o output/api -c config-api.json
Steps to reproduce
  1. Setup directory as shown above.
  2. Using any yaml file with a defined model, add the x-year property at the root level. Also, to show that included variables work fine, ensure to include info -> name in the yaml.
  3. Update the licenseInfo template directly under jaxrs-cxf folder to the above reference, using the template variable (name) and the vendor extension (x-year).
  4. Import licenseInfo to model.mustache and api.mustache per the above reference.
  5. cd into the swagger folder and run the JAR from there.
  6. When you open the API file(s), you will see that the licenseInfo text is there, with the year and name.
  7. When you open the model file, you will notice that the licenseInfo text is there, with the name, but minus the year. So, I think the import is working, but perhaps there's a vendor extension scoping issue somewhere?
Related issues/PRs

I didn't find anything similar.

Suggest a fix/enhancement

Fix the issue.

Lenguaje dominante
Mustache
Estrellas
17.8k
Forks
6k
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de swagger-api/swagger-codegen

Todos los issues de swagger-api/swagger-codegen

Issues similares

Más issues de Backend & API Design

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.