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

Unwanted "result" Value in @RequestMapping produces Attribute Generated by OpenAPI Generator #20783

Open
krishnamohanmathakala opened this issue Mar 4, 2025 · 0 comments

Comments

@krishnamohanmathakala
Copy link

I'm using the OpenAPI Generator plugin for server stub generation based on a Swagger 2.0 specification. I’ve encountered an issue where the generated code contains an unwanted "result" value in the produces attribute of the @RequestMapping annotation in the Spring Boot server stub.

Issue:

In the generated code, I have the following @RequestMapping annotation:

@RequestMapping(
    method = RequestMethod.POST,
    value = "/users", 
    produces = { "application/json", "result" },
    consumes = { "application/json" }
)

As you can see, the produces attribute includes "result" as a media type, which should not be there. The produces attribute is intended to specify valid media types (like "application/json", "application/xml", etc.), but "result" seems to have been mistakenly added.

Example Swagger Spec (relevant part):

responses:
  200:
    description: Successful response
    schema:
      type: object
      properties:
        result:
          type: object
          properties:
            someData:
              type: string

What I've Tried:

  1. Reviewed the Swagger Spec: I've checked my Swagger 2.0 spec, and there's no reason for "result" to be in the produces field. The spec only defines response data, not media types like "result".
  2. Checked the Generated Code: The produces field in the generated @RequestMapping annotation is incorrectly including "result".
  3. Looked at the OpenAPI Generator Templates: I haven’t customized the templates yet, but I’m wondering if this might be necessary.

My Question:

  • Why is OpenAPI Generator adding "result" as a value in the produces attribute of the @RequestMapping annotation? Could it be related to the way the response body is defined in the Swagger 2.0 spec?
  • How can I fix this issue so that only the correct media types (like "application/json") appear in the produces field, and "result" is not added?
  • Should I customize the OpenAPI Generator templates to prevent this from happening, and if so, how would I do that?

Any guidance or solutions would be greatly appreciated!

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

1 participant