스프링 서버단에서 다른 서버에 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);
}
}
'Spring' 카테고리의 다른 글
[Spring] Junit5를 이용한 테스트 (0) | 2021.09.23 |
---|---|
[Spring] 하나의 프로젝트에 다른 포트 번호로 두 개의 App을 실행하기 (0) | 2021.08.23 |
[Security] 스프링 시큐리티 설치 및 적용 (0) | 2021.06.05 |
[WebSocket] 스프링 채팅 구현 (2) - 다수 채팅방 (2) | 2021.06.04 |
[WebSocket] 스프링 채팅 구현 (1) - 채팅 전송 및 수신 (0) | 2021.06.04 |
댓글