일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- IT 면접 준비
- oracle ansi sql
- BFS
- CJ DBASE&
- Spring Boot
- 이중우선순위큐 java
- 위상정렬
- 개발자 면접 준비
- DFS
- DP
- SQL
- JPA
- 면접 필수 질문
- 백트래킹
- ansi sql 단점
- 백준
- 프로그래머스 이중우선순위큐 자바
- oracle ansi
- DBASE&
- 프로그래머스 이중우선순위큐 java
- 이중우선순위큐 자바
- 이분탐색
- ansi sql 장점
- 프로그래머스 이중우선순위큐
- Gradle
- 그리디
- Java
- 디베이스앤 인턴 후기
- 디베이스앤
- 프로그래머스
- Today
- Total
쉬운 프로그래밍
[Unirest] Unirest를 통한 REST API 호출 본문
최근 Naver Search Ad API를 기반으로 한 프로젝트를 진행하고 있다.
Unirest를 사용해서 데이터를 주고 받고 있는데, 그 내용에 대해서 정리해보려고 한다.
Unirest는 오픈소스로 배포되어있는 자바 라이브러리이다.
GIT
https://github.com/Kong/unirest-java
공식문서
http://kong.github.io/unirest-java/
Maven이나 Gradle 내에서 의존성을 주입하면 간단히 사용할 수 있다. [공식문서 참고]
Unirest는 java 뿐만 아니라 다양한 언어를 지원하고 있는 HTTP 통신 클라이언트 라이브러리이다.
GET, POST, PUT, DELETE, PATCH 등 여러가지 요청 방식을 지원하고 있으며, 비동기 통신 또한 지원한다.
추가적으로, Thread-Safe 하다고 한다.
대표적으로 GET 및 POST에 대한 사용 예시는 아래와 같다.
1. GET Request
Unirest.get("http://httpbin.org/{fruit}")
.routeParam("fruit", "apple")
.asString();
routeParam 옵션을 통해 path 파라미터를 지정할 수 있다.
또한 아래와 같이, 쿼리 파라미터 또한 지원한다.
Unirest.get("http://httpbin.org")
.queryString("fruit", "apple")
.queryString("droid", "R2D2")
.asString();
// Results in "http://httpbin.org?fruit=apple&droid=R2D2"
2. POST Request
Unirest.post("http://httpbin.org")
.header("Content-Type", "application/json")
.body(obj)
.asEmpty();
// This will use Jackson to serialize the object into JSON.
HttpResponse<JsonNode> response = Unirest.post("http://httpbin.org/post")
.header("accept", "application/json")
.queryString("apiKey", "123")
.field("parameter", "value")
.field("firstname", "Gary")
.asJson();
post 요청시에는 body에 java object를 담을 수 있고, field() 옵션을 통해 개별 필드 또한 지정 가능하다.
일반적인 API 리퀘스트의 경우 대부분의 기능을 Unirest로 모두 처리가 가능할 것이다.
아래 URL은 naver search ad api 사용에 대한 샘플 코드 깃허브이다.
깔끔하게 Unirest를 사용할 수 있도록 참고하면 좋아보인다.
'Programming > Java' 카테고리의 다른 글
Logback과 Slf4j에 대해서 알아보자. (1) | 2021.04.20 |
---|---|
[JAVA] uses unchecked or unsafe operations. 에러 (0) | 2021.04.06 |
Optional을 통한 예외처리 (0) | 2021.01.21 |