Fix OpenAPI schema ID collisions for duplicate type names#66937
Open
Bellambharath wants to merge 1 commit into
Open
Fix OpenAPI schema ID collisions for duplicate type names#66937Bellambharath wants to merge 1 commit into
Bellambharath wants to merge 1 commit into
Conversation
Fixes dotnet#64325 When two different types resolve to the same schema ID (e.g. same class name in different namespaces), both end up registered under the same key in the OpenAPI components section — last one wins and the schema for the first type just disappears silently. This adds a ConcurrentDictionary<string, Type> (_schemaIdToType) that tracks which type owns each schema ID. If a new type comes in with a colliding ID, we append a numeric suffix (2, 3, ...) until we find a slot that's free. Same type always gets the same ID back, so repeated calls are stable.
Contributor
|
Thanks for your PR, @Bellambharath. Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
Contributor
|
why does this PR removes a lot of existing comments @Bellambharath ? or is that diff only visible until rebased ? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Testing
otnet test src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Microsoft.AspNetCore.OpenApi.Tests.csproj --filter "FullyQualifiedName~CreateSchemaReferenceIdTests" -p:UseIsNativeAssets=false
Fixes #64325