OpenAPITools / OpenAPITools/openapi-generator

[BUG] [Spring Boot] [Maven plugin] OpenAPI Generator 7.4.0 can't read OpenAPI 3.1 spec on Windows.

Open
#18,161 6 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue: Bug
Dominant language
Java
Stars
26.8k
Forks
7.7k
PR merge metrics
PR metrics pending

Description

Bug Report Checklist
  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator (example)?
  • Have you tested with the latest master to confirm the issue still exists?
  • Have you searched for related issues/PRs?
  • What's the actual output vs expected output?
  • [Optional] Sponsorship to speed up the bug fix or feature request (example)
Description

I tried upgrading an OpenAPI spec from 3.0.0 to 3.1.0, when I tried to generate the DTOs I need, the console is spammed with:

[ERROR] Error resolving schema #/components/schemas/SomeDTO
java.net.URISyntaxException: Illegal character in opaque part at index 2: C:\workspaces\.../src/main/resources/openapi.yaml
...
at io.swagger.v3.parser.reference.ReferenceUtils.resolve (ReferenceUtils.java:29)

This only appears to happen under Windows, while I can't reproduce this under WSL.

openapi-generator version

7.4.0

OpenAPI declaration file content or url

I don't have access to GitHub on the machine I can reproduce this on, though I'd assume this can be reproduced by any flat (single file) YAML OpenAPI document that uses $ref to refer to schemas or parameters.

Generation Details

This is a summary of relevant settings.

  • generator: spring
  • generateApiTests: false
  • generateModelTests: false
  • interfaceOnly: true
  • useJakartaEe: true
  • async: false
Steps to reproduce

Create OpenAPI spec of version 3.1
Add some model references using $ref: '#/components/schemas/MyDTO'
Attempt to generate (possibly with the maven plugin)

Related issues/PRs

None that I could find.

Suggest a fix

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the stack trace at ReferenceUtils.java:29 and reproduce the reported Spring generator or Maven plugin flow on Windows using an OpenAPI 3.1 YAML file with component $ref entries. Compare the Windows path handling with the WSL behavior; done means generation completes without the URISyntaxException for referenced schemas.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring-boot
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.