Skip to content

Remove @JsonTypeName from jersey2 POJOs - #14854

Open
bernie-schelberg-mywave wants to merge 1 commit into
OpenAPITools:masterfrom
bernie-schelberg-mywave:remove-json-type-name-jersey2
Open

Remove @JsonTypeName from jersey2 POJOs#14854
bernie-schelberg-mywave wants to merge 1 commit into
OpenAPITools:masterfrom
bernie-schelberg-mywave:remove-json-type-name-jersey2

Conversation

@bernie-schelberg-mywave

Copy link
Copy Markdown
Contributor

A sibling PR to #14842 and #14852. This PR removes the @JsonTypeName annotation from the jersey2 templates. I want to make some other changes that affect the handling of the @JsonTypeName annotation, and investigating those issues led to the conclusion that @JsonTypeName is unnecessary, as the name of the type is specified in the super class' @JsonSubTypes annotation wherever necessary.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • Run the following to build the project and update samples:
    ./mvnw clean package 
    ./bin/generate-samples.sh
    ./bin/utils/export_docs_generators.sh
    
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    For Windows users, please run the script in Git BASH.
  • In case you are adding a new generator, run the following additional script :
    ./bin/utils/ensure-up-to-date.sh
    
    Commit all changed files.
  • File the PR against the correct branch: master (6.3.0) (minor release - breaking changes with fallbacks), 7.0.x (breaking changes without fallbacks)
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

@bbdouglas (2017/07) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01) @karismann (2019/03) @Zomzog (2019/04) @lwlee2608 (2019/10)

@wing328

wing328 commented May 3, 2023

Copy link
Copy Markdown
Member

I remember this is needed to fix an issue. can you use git blame to find out more from the PR adding that change?

@bernie-schelberg-mywave

Copy link
Copy Markdown
Contributor Author

@wing328 actually, it was a step on a round-about way to fixing the issue with dart generation with mapped discriminator models. I believe you fixed that differently in this one: #14984.

I still think that having @JsonTypeName is unnecessary, but I don't see it as a pressing issue any longer, so this PR can probably be closed.

To answer your question, though, I believe it was added here: #6995. I'm still not clear on why the change was necessary, as the mappingName is set using @JsonSubTypes.Type in typeInfoAnnotation.mustache. My understanding is that Jackson would use @JsonSubTypes annotations in preference to @JsonTypeName.

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

Successfully merging this pull request may close these issues.

2 participants