You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Matrix parameters distort the values passed to a match all remaining selector when using WebFlux #52300
With Spring MVC, path parameters (for example a ;jsessionid=... added by URL rewriting) are no longer removed from the path segments passed to endpoint operations that use @Selector(match = Match.ALL_REMAINING). This breaks health group and component paths, and changes the values that custom endpoints receive.
With management.endpoint.health.probes.enabled=true, management.endpoint.health.show-components=always and management.endpoint.health.group.custom.include=ping,diskSpace:
GET /actuator/echo/a/b;jsessionid=abc returns a|b in 4.1.1 and a|b;jsessionid=abc in 4.2.0-M2.
This seems to come from #51470. getRemainingPathSegments in AbstractWebMvcEndpointHandlerMapping now tokenizes pathPattern.extractPathWithinPattern(...).value(), which keeps path parameters, whereas the previous code used PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE.
Using the decoded value of each segment without its parameters restores the 4.1.1 behavior. I verified this locally against all the cases above, and the multi-segment additional paths from #51470 keep working:
changed the title [-]Matrix parameters break actuator health paths and ALL_REMAINING selectors with Spring MVC in 4.2.0-M2[/-][+]Matrix parameters distort the values passed to a match all remaining selector when using WebFlux[/+]on Oct 23, 2026
Activity
[-]Matrix parameters break actuator health paths and ALL_REMAINING selectors with Spring MVC in 4.2.0-M2[/-][+]Matrix parameters distort the values passed to a match all remaining selector when using WebFlux[/+]Fix handling of matrix variables with all remaining selectors