본문 바로가기

과제

외부 API 가져오는 방법

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