如何解析Spring Boot中@RequestParam设置的字符串?

时间:2017-07-19 19:16:33

标签: java spring spring-boot request

我的控制器有如下方法:

@ResponseBody
public String test(@RequestParam("r") String r){
String requestURI = request.getQueryString();
// What I want: abc+def%2Cfjg
System.out.println(requestURI.split("=")[1]);
// This is not what I want: abc def,fjg
System.out.println(r);
}

如何让Spring启动知道RequestParameter不能被解码?即不将+转换为空格,%2C转换为逗号等。

1 个答案:

答案 0 :(得分:0)

使用解码方法,您可以解码您的网址。

private String decode(String value) {
    String decoded 
      = URLDecoder.decode(value, StandardCharsets.UTF_8.toString());
    return decoded;
}

如果要对其进行编码,请使用编码方法。

private String encode(String value) {
    String encoded = 
      URLEncoder.encode(value, StandardCharsets.UTF_8.toString());
    return encoded;
}