본문 바로가기
Spring

[Spring] 서버에서 다른 서버의 Rest API 요청 및 응답 받기

by 서피 2021. 7. 25.

스프링 서버단에서 다른 서버에 request를 보내야 하는 경우 두 가지 방법을 이용 가능. !

 

1. RestTemplate을 이용한다.

private static void getEmployees()
{
    final String uri = "http://localhost:8080/springrestexample/employees.xml";

    RestTemplate restTemplate = new RestTemplate();
    String result = restTemplate.getForObject(uri, String.class);

    System.out.println(result);
}

 

 

2. WebClient를 이용한다. (스프링 5버전 이상에서 지원하는 방식)

@Bean
public WebClient localApiClient() {
    return WebClient.create("http://localhost:8080/api/v3");
}
@Service
public class UserService {

    private static final Duration REQUEST_TIMEOUT = Duration.ofSeconds(3);

    private final WebClient localApiClient;

    @Autowired
    public UserService(WebClient localApiClient) {
        this.localApiClient = localApiClient;
    }

    public User getUser(long id) {
        return localApiClient
                .get()
                .uri("/users/" + id)
                .retrieve()
                .bodyToMono(User.class)
                .block(REQUEST_TIMEOUT);
    }

}

 

[출처]

댓글