Client sends on the server (implementation doesn't matter):
/path/items/ + urlencode(id, SOME_ENCODING)
Consider result URL will be:
/path/items/my%2Fkey
Hence I have on server:
@RequestMapping(value = "/path/items/{identifier}", method = RequestMethod.GET)
public Item get(@PathVariable String identifier) {
try {
return DAO.getItemByIdentifier(URLDecoder.decode(identifier, SOME_ENCODING))
}
catch (UnsupportedEncodingException e) {
...
}
Is there any way to do it in Spring internally? I mean get identifier already decoded, so I could just:
@RequestMapping(value = "/path/items/{identifier}", method = RequestMethod.GET)
public Item get(@PathVariable String identifier) {
return DAO.getitemByidentifier(identifier); // already decoded!
}