fix: Honor @name annotations for recursive types #2032
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.
This PR fixes an issue where
@name
annotations are ignored for recursive types (types that reference themselves). Previously, recursive types would always use their full package path in the generated Swagger definitions, even when a@name
annotation was present.Problem
When defining a recursive type with a
@name
annotation:The generated Swagger definition would incorrectly use the full package path:
Solution
The fix ensures that
SetSchemaName()
is called for recursive types before using the schema name. This allows the@name
annotation to be properly processed and applied.With this fix, the generated definition correctly uses the simple name:
Changes
parser.go
to callSetSchemaName()
for recursive types before using the schema nameTestParser_ParseDefinitionWithRecursiveTypeAndNameAnnotation
to verify the fixTesting
@name
annotationsImpact
This change only affects recursive types that have
@name
annotations. It does not change the behavior for:@name
annotationsFixes #[issue number if applicable]