diff --git a/demo-service/src/main/java/com/xuqm/demo/service/DemoAuthService.java b/demo-service/src/main/java/com/xuqm/demo/service/DemoAuthService.java index e956ce3..f4516be 100644 --- a/demo-service/src/main/java/com/xuqm/demo/service/DemoAuthService.java +++ b/demo-service/src/main/java/com/xuqm/demo/service/DemoAuthService.java @@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponentsBuilder; +import java.net.URI; import java.time.Instant; import java.util.Map; @@ -139,12 +140,14 @@ public class DemoAuthService { String payload = AppRequestSignatureUtil.payload(appId, userId, effectiveNickname, null, timestamp, nonce); String signature = AppRequestSignatureUtil.sign(appSecret, payload); - String url = UriComponentsBuilder.fromHttpUrl(imServiceUrl) + URI uri = UriComponentsBuilder.fromHttpUrl(imServiceUrl) .path("/api/im/auth/login") .queryParam("appId", appId) .queryParam("userId", userId) .queryParam("nickname", effectiveNickname) - .toUriString(); + .encode() + .build() + .toUri(); try { HttpHeaders headers = new HttpHeaders(); @@ -152,7 +155,7 @@ public class DemoAuthService { headers.set("X-App-Nonce", nonce); headers.set("X-App-Signature", signature); ResponseEntity response = restTemplate.exchange( - url, + uri, HttpMethod.POST, new HttpEntity<>(headers), JsonNode.class