您好,我也从Java 11从RestTemplate
切换到HttpClient
。我也想从Java 11从OAuth2RestTemplate
切换到HttpClient
。
我找不到有关将HttpClient
与OAuth2结合使用的任何材料。有可能以简单的方式吗?
这是个好主意吗?还是应该从春季开始使用WebClient
?
答案 0 :(得分:0)
我只是使用HttpClient
发布以获取OAuthToken,然后将令牌添加到下一个请求的标头中。
String tokenRequest =
"client_id="
+ lmGatewayCorrectClientId
+ "&client_secret="
+ lmGatewayCorrectClientSecret
+ "&grant_type="
+ lmGatewayCorrectGrantType;
HttpClient oAuth2Client = HttpClient.newBuilder().build();
HttpRequest oAuth2Request =
HttpRequest.newBuilder()
.header(CONTENT_TYPE, APPLICATION_FORM_URLENCODED_VALUE)
.uri(URI.create(lmGatewayCorrectAccessTokenUri))
.POST(HttpRequest.BodyPublishers.ofString(tokenRequest))
.build();
HttpResponse<String> oAuth2Response = null;
try {
oAuth2Response = oAuth2Client.send(oAuth2Request, HttpResponse.BodyHandlers.ofString());
} catch (Exception e) {
logger.error(e.getMessage(), e);
}