Skip to content

Fix OpenAPI OperationId, Summary, and Description support#2456

Merged
jeremydmiller merged 2 commits intomainfrom
investigate/http-operationid-openapi
Apr 8, 2026
Merged

Fix OpenAPI OperationId, Summary, and Description support#2456
jeremydmiller merged 2 commits intomainfrom
investigate/http-operationid-openapi

Conversation

@jeremydmiller
Copy link
Copy Markdown
Member

Summary

  • Fix critical bug where unconditionally adding EndpointNameMetadata caused InvalidOperationException: Duplicate endpoint name for overloaded handler methods (broke 427/608 HTTP tests)
  • Only add EndpointNameMetadata when OperationId is explicitly set via the route attribute, preventing collisions
  • Add Summary and Description properties to WolverineHttpMethodAttribute for OpenAPI documentation
  • Use ASP.NET Core's standard EndpointSummaryAttribute/EndpointDescriptionAttribute for metadata instead of custom types
  • Ensure summary/description metadata flows through WolverineActionDescriptor.EndpointMetadata for Swashbuckle integration
  • Add 18 tests covering OperationId, Summary, Description, endpoint metadata, and API description behavior

Built on top of PR #2445.

Test plan

  • All 616 Wolverine.Http.Tests pass (0 failures)
  • 18 new tests for OpenAPI metadata customization
  • Verified no duplicate endpoint name collisions with overloaded methods
  • OperationId correctly appears in Swashbuckle OpenAPI output
  • Summary/Description metadata correctly set on endpoint and action descriptor

🤖 Generated with Claude Code

codeswithfists and others added 2 commits April 6, 2026 23:13
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Only add EndpointNameMetadata when OperationId is explicitly set via
attribute, preventing duplicate endpoint name errors for overloaded
handler methods. Use ASP.NET Core's EndpointSummaryAttribute and
EndpointDescriptionAttribute for metadata, and ensure summary/description
metadata is available in WolverineActionDescriptor.EndpointMetadata for
Swashbuckle integration. Add 18 tests covering OperationId, Summary,
Description, and endpoint metadata behavior.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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