OpenAPITools / OpenAPITools/openapi-generator
[BUG][JAVA] Generic content-type is escaped with underscore: e.g. image/* --> image/_*
Nobody has claimed this yet.
- 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
The following
...
requestBody:
description: The attachment
content:
application/octet-stream:
schema:
type: string
format: binary
application/*:
schema:
type: string
format: binary
generates:
@RequestMapping(
method = RequestMethod.POST,
value = "/attachment",
produces = { "application/json;charset=utf-8" },
consumes = { "application/octet-stream", "application/_*" }
rather than
@RequestMapping(
method = RequestMethod.POST,
value = "/attachment",
produces = { "application/json;charset=utf-8" },
consumes = { "application/octet-stream", "application/*" }
The difference is the underscore: "application/_" vs "application/"
This leads to a wrong interpretation of the given content-types!
The problem is similar for server and client generation.
openapi-generator version
5.4.0
OpenAPI declaration file content or url
Generation Details
Steps to reproduce
Related issues/PRs
Suggest a fix
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the supplied OpenAPI requestBody content types and compare the generated Java annotations for application/* and application/octet-stream. Trace the generator path that escapes media types, including the similar server and client generation paths described in the issue. Done means application/* remains unchanged in generated consumes output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, openapi
- Domain
- api, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100