spring-framework
spring-framework copied to clipboard
Enhance UrlHandlerFilter with ordered pattern matching and status validation
This PR addresses issue #35882.
It does the following:
-
Allows for ordering handlers based on path specificity, so handlers are selected based on how well a
PathPatternmatches the request path. -
Validates the HTTP status code for redirect handlers, using a simple assertion to check if the code is
3xx.
The changes are backwards compatible:
-
A new
useSpecificityOrdermethod is added to theBuilderto opt in to specificity-based ordering. Not using this method (or using a value offalse) results in the current behaviour. -
A new
excludemethod is added to theBuilderto optionally exclude URL handling for specific patterns. Not using this method results in the current behaviour. -
For the servlet implementation, the parameter of the
redirectmethod was changed from typeHttpStatustoHttpStatusCodeto align with the reactive implementation. This change will have no effect asHttpStatusCodeis implemented byHttpStatus.
Feedback and edits are welcome, particularly regarding the implementation of specificity-based ordering, and the new method names (useSpecificityOrder and exclude).