728x90
외부 API를 가져올때 두가지 방법이 있다.
RestTemplate
Webclient
RestTemplate는 블로킹 기반 동기 방법이고
Webclient는 논블로킹 기반 비동기 방법이라서
Webclient가 효율적이라고 생각해서 선택하게 되었다. 또한 spring에서도 추천하고있다.
public Mono<String> fetchDataFromExternalApi() {
String apiUrl = "http://127.0.0.1/RESTAdapter/RecruitingTest";
// JSON 데이터를 전송하기 위한 객체 생성
testRequireDto testRequireDto = new testRequireDto();
testRequireDto.setName("아무개");
testRequireDto.setPhoneNumber("010-3324-345345");
testRequireDto.setEmail("test@gmail.com");
// WebClient를 사용하여 API에 요청 보내기
WebClient webClient = WebClient.create(apiUrl);
// API 요청 및 응답 데이터 처리
response = webClient
.post()
.body(Mono.just(testRequireDto), testRequireDto.class)
.retrieve()
.bodyToMono(String.class);
// response.subscribe(this::handleApiResponse);
// System.out.println("FETCH : "+decodedDataDto.getXmlData() );
return response;
}
728x90
'과제' 카테고리의 다른 글
동기화 방법 (0) | 2023.09.12 |
---|---|
숙련과제 레벨2 고려사항 (0) | 2023.01.07 |