>  기사  >  Java  >  SpringBoot에서 타사 API에 인증된 HTTP POST 및 GET 요청을 보내는 방법

SpringBoot에서 타사 API에 인증된 HTTP POST 및 GET 요청을 보내는 방법

Patricia Arquette
Patricia Arquette원래의
2024-09-26 16:35:031085검색

How to make authenticated HTTP POST and GET requests to third-party APIs in SpringBoot

소개

Spring Boot는 포괄적인 도구 및 규칙 모음을 제공하여 소프트웨어 개발 프로세스를 단순화하는 강력한 Java 프레임워크입니다. 강력한 기능과 함께 사용하기 쉬우므로 소규모 및 대규모 애플리케이션 모두에서 널리 사용됩니다. 애플리케이션을 구축할 때 애플리케이션 내에서 타사 API를 사용해야 하는 경우가 있습니다.

RestTemplate, WebSocket, Apache HttpClient, OkHttp 및 FeignClient를 사용하는 등 Spring Boot에서 API에 요청하는 방법에는 여러 가지가 있습니다. 방법 선택은 애플리케이션의 특정 요구 사항에 따라 달라지는 경우가 많습니다. 이 기사에서는 RestTemplate을 사용하여 타사 API에 인증된 POST 및 GET 요청을 보내는 방법에 중점을 둘 것입니다.

RestTemplate이란 무엇입니까?

RestTemplate은 HTTP 요청 전송 및 응답 처리를 위한 간단하고 직관적인 API를 제공하는 Spring에서 제공하는 동기식 클라이언트입니다. 이는 Spring 웹 종속성에 포함된 Spring의 패키지입니다. 그 방법은 이해하기 쉬우므로 모든 기술 수준의 개발자가 접근할 수 있습니다.

인증된 POST 요청을 만드는 방법

인증된 POST 요청을 수행하는 방법을 보여주기 위해 https://api.example.com/create에서 타사 API를 통해 계정을 생성해야 하는 지갑 애플리케이션을 구축하는 시나리오를 고려해 보겠습니다.

요구사항:

API에는 다음이 필요합니다.

  • 헤더: 승인 전달자
  • 본문 매개변수: 이름, 이메일, bvn

단계

  1. RestTemplate 객체를 생성합니다.
  2. HTTP 헤더 설정: HttpHeaders를 사용하여 인증 토큰을 전달하는 헤더를 생성합니다.
  3. HttpEntity 생성: 예상 요청 본문과 HTTP 헤더를 사용하여 HttpEntity 객체를 생성합니다.
  4. POST 요청하기: RestTemplate의 postForObject 메소드를 사용하여 요청을 보냅니다.

예제 코드

String url = "https://api.example.com/create";

RestTemplate restTemplate = new RestTemplate();

HttpHeaders httpHeaders = new HttpHeaders();

httpHeaders.setBasicAuth(token);

HttpEntity<Object> httpEntity = new HttpEntity<>(requestBody, httpHeaders);

// Response from the API server
String responseObject = restTemplate.postForObject(url, httpEntity, String.class);

이 설정을 사용하면 토큰이 유효한 경우 API에 대한 POST 요청을 성공적으로 수행할 수 있습니다.

인증된 GET 요청을 만드는 방법

인증된 GET 요청을 수행하기 위해 RestTemplate의 교환 방법을 활용하겠습니다.

예제 코드

String url = "https://api.example.com/balance";

HttpHeaders httpHeaders = new HttpHeaders();

httpHeaders.setBasicAuth(token);

HttpEntity<Object> httpEntity = new HttpEntity<>(httpHeaders);

// Response from the API server
String responseObject = restTemplate.exchange(url, HttpMethod.GET, httpEntity, String.class).getBody();

다음 단계에 따라 토큰이 유효한 경우 API에 GET 요청을 할 수 있습니다.

결론

이 기사에서는 SpringBoot의 RestTemplate을 사용하여 타사 API에 인증된 POST 및 GET 요청을 보내는 방법을 다루었습니다. RestTemplate을 활용하면 필요한 인증 헤더를 포함하도록 요청을 쉽게 구성할 수 있습니다.

추가 참고사항

  • 항상 환경 변수나 암호화된 구성 파일을 사용하여 API 키 및 비밀번호와 같은 민감한 데이터가 안전하게 저장되었는지 확인하세요.
  • 반응형 프로그래밍을 위한 WebClient 또는 더 복잡한 애플리케이션의 선언적 API 클라이언트를 위한 FeignClient와 같은 다른 옵션을 살펴보세요.

더 많은 기사를 보려면 내 소셜 계정을 팔로우하세요.
클릭하고 팔로우하세요

  • 링크드인
  • 트위터
  • 개발자
  • 중간

위 내용은 SpringBoot에서 타사 API에 인증된 HTTP POST 및 GET 요청을 보내는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.