如何使用 Spring Boot 抑制 url 编码

use*_*592 8 java encoding spring spring-mvc spring-boot

我使用 Spring boot 创建了一个 GET/POST API,它有一个 http url 参数,比如 refid。现在这个参数在调用 GET/POST 请求之前已经被编码,例如http://localhost:8080/users/TESTFNkJXiQAH%2FJBKxigBx

但是,当我通过 Spring Boot 部署它时,编码的 refid 会再次编码,并且 refid 会发生变化。即它变成:

http://localhost:8080/users/TESTFNkJXiQAH%252FJBKxigBx

我想通过 Spring boot 抑制第二个编码。有人可以在这里提供建议吗?

Ale*_*hin -2

这是 URLDecoder 的基本示例:

   @RequestMapping(value = "/users/{refId}", method = GET)
   public void yourMethod(@PathVariable("refId") String refId) {
      // This is what you get in Spring Boot
      String encoded = refId; //"TESTFNkJXiQAH%252FJBKxigBx"

      String decoded = URLDecoder.decode(encoded, "UTF-8");

      System.out.println(decoded);

      // Result TESTFNkJXiQAH%2FJBKxigBx
   }
Run Code Online (Sandbox Code Playgroud)