TIL

+29 RestTemplate의 exchange

JAVABOZA 2023. 7. 14. 20:15

RestTemplate의 exchange

개발자가 RestTemplate으로 요청을 보낼 때 Header에 특정 정보를 같이 전달할 때 사용

 

 

 

클라이언트 입장의 서버 - service

public List<ItemDto> exchangeCall(String token) {
    // 요청 URL 만들기
    URI uri = UriComponentsBuilder
            .fromUriString("http://localhost:7070")
            .path("/api/server/exchange-call")
            .encode()
            .build()
            .toUri();
    log.info("uri = " + uri);

    User user = new User("Robbie", "1234");

    RequestEntity<User> requestEntity = RequestEntity
            .post(uri)
            .header("X-Authorization", token)
            .body(user);

    ResponseEntity<String> responseEntity = restTemplate.exchange(requestEntity, String.class);

    return fromJSONtoItems(responseEntity.getBody());
}

 

클라이언트 입장의 서버 - controller

@GetMapping("/exchange-call")
    public List<ItemDto> exchangeCall(@RequestHeader("Authorization") String token) {
        return restTemplateService.exchangeCall(token);
    }

직접 Request Header / Response Header에 담아서 (key, value)형식으로 보냄 << String token 은 원하는 변수명 

'TIL' 카테고리의 다른 글

+31 Entity 연관 관계  (0) 2023.07.17
+30 Naver Open API  (0) 2023.07.17
+28 RestTemplate Get요청  (1) 2023.07.13
+27 Spring Security 로그인  (0) 2023.07.12
+26 RestTemplate이란 무엇일까?  (0) 2023.07.11