Spring

SpringBoot의 API에서 특정 응답 값 가져 오기

기록만이살길 2021. 3. 23. 05:04
반응형

SpringBoot의 API에서 특정 응답 값 가져 오기

1. 질문(문제점):

나는 하나의 포스트 콜을 호출하고 다음과 같은 응답을 받고 있습니다. 여기에 이미지 설명 입력

이제 액세스 토큰의 값을 얻고 몇 가지 논리를 수행하고 싶습니다. 응답에서 가치를 얻는 방법은 무엇입니까? 누구든지 도와주세요. API의 서비스 코드입니다.

public String getToken(User user) throws JsonMappingException, JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
        System.out.println(clientId+clientPass);
        String plainCreds = clientId+":"+clientPass;
        byte[] plainCredsBytes = plainCreds.getBytes();
        byte[] base64CredsBytes = Base64.getEncoder().encode(plainCredsBytes);
        String base64Creds = new String(base64CredsBytes);
        HttpHeaders headers = new HttpHeaders();
        headers.add("Authorization", "Basic " + base64Creds);
        HttpEntity<String> request=new HttpEntity<String>(headers);
        String uri = url+ user.getUser_id()
                + "&password=" + user.getPassword();
        RestTemplate restTemplate = new RestTemplate();
        
        ResponseEntity<String> result = restTemplate.exchange(uri, HttpMethod.POST, request, String.class) ;
        JsonNode newNode = mapper.readTree(result.getBody());
        ObjectNode node = ((ObjectNode) newNode).put("Authentication", "Successful");
        
        return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(node);
    }

2. 해결방안:

나는 그것을 알아낼 수 있었다. 나는 사용했다

node.get("access_token")

그리고 작동했습니다!

65630057
반응형