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 values are not decoded [SPR-10140] #14773

Closed
spring-issuemaster opened this Issue Jan 3, 2013 · 1 comment

Comments

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

spring-issuemaster commented Jan 3, 2013

Michał Politowski opened SPR-10140 and commented

Assume the following handler method declaration:

@RequestMapping("path{filter}")
String handle(@PathVariable String filter, @MatrixVariable String mvar, @RequestParam String query) {
 // ...  
}

Assume also a RequestMappingHandlerMapping that has urlDecode and removeSemicolonContent set to false.

Now when a request for "path;mvar=a%2fb?query=c%2fd" is made, it results in the confusing situation where both filter and query are decoded (to ";mvar=a/b" and "c/d" respectively) yet mvar is left undecoded (set to "a%2fb").

This greatly diminishes the usefulness of #13736 in connection with matrix variables.

Of course there is a problem of the matrix part of the URL containing an encoded comma, semicolon or equals sign. These should probably not be interpreted in such situations as separators, but as belonging to the variable value. So the decoding would have to happen after the splitting. But the fact that it is not done at all looks confusing and inconsistent.


Affects: 3.2 GA

Issue Links:

  • #21406 MatrixVariable with Encoding does not work.
@spring-issuemaster

This comment has been minimized.

Copy link
Collaborator

spring-issuemaster commented Jan 4, 2013

Rossen Stoyanchev commented

We'll consider this for 3.2.1.

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