New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MatrixVariable with Encoding does not work. [SPR-16867] #21406

Closed
spring-issuemaster opened this Issue May 23, 2018 · 1 comment

Comments

Projects
None yet
2 participants
@spring-issuemaster
Copy link
Collaborator

spring-issuemaster commented May 23, 2018

Anitha opened SPR-16867 and commented

With both MatrixVariable enabled and UrlDecode disabled, then the PathVariables are not matched correctly.  I'm on : 5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE-sources.jar

I have a case where I have PathVariables and MatrixVariables (plus I have encoded string as MatrixVariable value). 

My WebConfig looks like this:

@Configuration
public class WebConfig implements WebMvcConfigurer {

 @Override
 public void configurePathMatch(PathMatchConfigurer configurer) {
   UrlPathHelper urlPathHelper = new UrlPathHelper();
   urlPathHelper.setRemoveSemicolonContent(false);
   urlPathHelper.setUrlDecode(false);
   urlPathHelper.setAlwaysUseFullPath(true);
   configurer.setUrlPathHelper(urlPathHelper);
 }
}

With this after the MatrixVariable extraction happens in RequestMappingInfoHandlerMapping with decoded params pointing to a newly created map, the new truncated pathVariable values are not reflected in URI_TEMPLATE_VARIABLES_ATTRIBUTE of the request. Whereas without decoding, it is referring to the old map uriVariables and things work fine. 

I hope it explains the problem clearly. 


Affects: 5.0.6

Issue Links:

  • #14773 MatrixVariable values are not decoded

Referenced from: commits 85e8634, 051ab05

@spring-issuemaster

This comment has been minimized.

Copy link
Collaborator Author

spring-issuemaster commented May 24, 2018

Rossen Stoyanchev commented

Thank you for the report. This should be fixed now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment