Spring Rest 模板使用 % 将值注入参数
Spring Rest Template Injects Value into Parameter with %
有人可以向我解释一下以下代码中发生了什么吗?
如果我运行:
RestTemplate rest = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.add("header1", "data");
headers.add("header2", "data");
HttpEntity<String> entity = new HttpEntity<>("body", headers);
ResponseEntity<JSONObject> response =
rest.exchange("https://example.com/../{username}/{path}", HttpMethod.GET, entity, JSONObject.class, "user%123", "path");
Spring 告诉我使用的 URL 是 https://example.com/../username/path 其中用户名 = user%25123 即使我设置了用户名 = user%123.
我认为这不是 Spring 问题,而是 URL 编码问题,但谁能告诉我这额外的 25 是从哪里来的?
%25
是一个 URL-encoded 百分号,所以 user%123
编码为 user%25123
有人可以向我解释一下以下代码中发生了什么吗?
如果我运行:
RestTemplate rest = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.add("header1", "data");
headers.add("header2", "data");
HttpEntity<String> entity = new HttpEntity<>("body", headers);
ResponseEntity<JSONObject> response =
rest.exchange("https://example.com/../{username}/{path}", HttpMethod.GET, entity, JSONObject.class, "user%123", "path");
Spring 告诉我使用的 URL 是 https://example.com/../username/path 其中用户名 = user%25123 即使我设置了用户名 = user%123.
我认为这不是 Spring 问题,而是 URL 编码问题,但谁能告诉我这额外的 25 是从哪里来的?
%25
是一个 URL-encoded 百分号,所以 user%123
编码为 user%25123