Skip to content

Add route prefix groups for Wolverine.HTTP endpoints#2429

Merged
jeremydmiller merged 2 commits intomainfrom
2405-route-prefix-groups
Apr 3, 2026
Merged

Add route prefix groups for Wolverine.HTTP endpoints#2429
jeremydmiller merged 2 commits intomainfrom
2405-route-prefix-groups

Conversation

@jeremydmiller
Copy link
Copy Markdown
Member

Summary

  • Adds [RoutePrefix("prefix")] attribute for class-level route prefixes
  • Adds opts.RoutePrefix("api") for global route prefix and opts.RoutePrefix("api/orders", forEndpointsInNamespace: "...") for namespace-specific prefixes
  • Implements as IHttpPolicy that mutates route patterns before other policies run
  • Precedence: attribute > namespace-specific > global (most specific wins)
  • Added routing documentation section

Test plan

  • 13 unit tests covering global prefix, namespace prefix, attribute prefix, precedence, slash handling, route parameter preservation
  • All tests pass on net9.0

Closes #2405

🤖 Generated with Claude Code

jeremydmiller and others added 2 commits April 3, 2026 15:09
Implement route prefix support with three levels of specificity:
- Global prefix via opts.RoutePrefix("api") on WolverineHttpOptions
- Namespace-specific prefix via opts.RoutePrefix("api/orders", forEndpointsInNamespace: "...")
- [RoutePrefix("prefix")] attribute on endpoint classes

The RoutePrefixPolicy (IHttpPolicy) is applied early in the pipeline
before other policies, so downstream policies see the final routes.
Attribute > namespace > global precedence; prefixes do not stack.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jeremydmiller jeremydmiller merged commit 6e41592 into main Apr 3, 2026
17 of 19 checks passed
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.

Route prefix groups for Wolverine.HTTP endpoints

1 participant