Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[JavaJaxRS] Vendor Extensions Not Accessed in model.mustache

Aperta
#12,486 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
java
Ambito
api, backend

Direzione di ricerca

Inizia con i template jaxrs-cxf, in particolare licenseInfo.mustache, model.mustache e pojo.mustache, e confronta il loro contesto di rendering con api.mustache e apiServiceImpl.mustache. Riproduci il problema usando lo YAML OpenAPI fornito e swagger-codegen-cli-3.0.24. Il lavoro è completato quando x-year viene renderizzato dal template licenseInfo incluso nei file model e POJO generati, come avviene nei file API.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Mustache
Stelle
17.8k
Fork
6k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di swagger-api/swagger-codegen

Tutte le issue di swagger-api/swagger-codegen

Issue simili

Altre issue su Backend & API Design

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.