Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Splitting one yaml into different files and setting validateSpec=false still results in parser failure #881

Open
SteveGueldner opened this issue Nov 29, 2024 · 6 comments

Comments

@SteveGueldner
Copy link

Hi!

When I split an openapi.yaml like this...

openapi.yaml
... paths: /stuff: $ref: "./stuff/methods.yaml"

methods.yaml
get: tags: - stuff operationId: getStuff responses: "200": description: OK content: application/json: schema: type: string

...and set validateSpec=false compilation still says that methods.yaml is invalid because "Unrecognized token 'get'".

Additionally this is logged, which is not logged when omitting validateSpec=false:
Cannot invoke "io.swagger.v3.oas.models.OpenAPI.getExtensions()" because "openAPI" is null

Versions used:

quarkus-openapi-generator: 2.6.0-lts
Quarkus: 3.15.2
Java: 21
maven-compiler-plugin: 3.9.6

@ricardozanini
Copy link
Member

Server or Client?

@SteveGueldner
Copy link
Author

Client :-)

@ricardozanini
Copy link
Member

The subfiles are not being added to the processing IIRC, that's why it's ignoring the ValidateSpec attribute.

@SteveGueldner
Copy link
Author

This would be a really useful feature. For large API definitions splitting files totally makes sense. But I don't want to end up having 100 files in a root directory.

@SteveGueldner
Copy link
Author

I just checked how the generator behaves if I put everything in the root directory. It still throws the same exception. Of course I changed the path to the underlying yaml accordingly and set validateSpec=false.

@ricardozanini
Copy link
Member

ricardozanini commented Dec 2, 2024

@SteveGueldner feel free to submit a PR. I can help review it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants