我有一个控制器,需要2个参数-
@PostMapping(value = "/myEndPoint")
public ResponseEntity<StreamingResponseBody> process(final InputStream data,
@RequestParam final String param1,
@RequestParam final String base64Param) {
return ok().body(doSomething(base64Param.getBytes(), param1, data));
}
base64param字符串参数将包含 +
字符,但当然spring控制器会用空格替换这些字符。
你知道我怎样才能绕过这个让管制员离开房间吗 +
只有角色?
更新-我试过了
UriComponentsBuilder builder = fromUriString(format("http://localhost:%s/%s", serverPort, "/myEndPoint"))
.queryParam("param1", param1)
.queryParam("base64Param", Base64.getUrlEncoder().encodeToString(base64ParamValueWithPluses.getBytes()));
但我必须像这样解码控制器中的base64param参数-
String decodedBaseParam64 = Base64.getUrlDecoder().decode(encodeBaseParam64);
有没有一种方法来编码这个,这样spring就可以用 +
保留字符?
1条答案
按热度按时间o4tp2gmn1#
来源-https://github.com/spring-projects/spring-framework/issues/21577