我在设置queryparams时遇到了webclient问题。代码如下:
WebClient webClient = WebClient.create(config.getOAuth2Url());
return webClient.post()
.uri(uriBuilder -> uriBuilder
.path("/oauth/authorize")
.queryParam(RESPONSE_TYPE, request.getResponse_type())
.queryParam(CLIENT_ID, request.getClient_id())
.queryParam(REDIRECT_URI, request.getRedirect_uri()) // pay attention here
.build())
.header("cookie", jSessionId)
.acceptCharset(StandardCharsets.UTF_8)
.retrieve()
.toEntity(JsonNode.class)
.block();
问题是
request.getRedirect_uri()
是包含%个字符的字符串,如下所示:
https%3A%2F%2Fbra...
我得到了一个400错误,因为webclient在某个步骤中改变了这个字符串:
https%253A%252F%252Fbra
当然,如果我用我的原值来做 curl ,它会工作,如果我用修改过的字符串来做 curl ,我会得到400。如何更改webclient行为,使其不会修改我的url?
暂无答案!
目前还没有任何答案,快来回答吧!