본문 바로가기
멀티캠퍼스/Spring

231019(목) - MongoDB

by 세크레투스 2023. 10. 20.
반응형
SMALL

1. API란? : Application Programming Interface의 약자. 일종의 라이브러리임.

 

2. Open API : 공개된 라이브러리..? 인터넷상에서 공개되어있다는 뜻을 내포함.

흔히 말하는 rest호출을 통해서 사용할 수 있는 기능들을 말한다.

json으로 데이터 교환을 한다.

 

JavaScript fetch 함수를 사용해서 Open API 호출

Java Retrofit2를 사용해서 Open API 호출

==> 2가지 방법..!

 

<Kakao 검색 API>

- 웹문서

- 동영상

- 이미지

- 블로그

- 도서

- 카페

 

 

1. Retrofit : REST API 호출을 지원하는 자바 라이브러리

2. Gson : JAVA POJO(순수하게 데이터만 가지는 모델객체, 옛날 스타일의 자바 객체)와 JSON(문자열)간 변환 지원 라이브러리

 

- JSON <- Java POJO : 직렬화

- JSON -> Java POJO : 역직렬화

 

==> 클래스 3개를 준비해야 함. : Documents, Meta, Root

 

<Retrofit>

- HTTP 메서드 + URL = 메서드

- API의 각 요청에 대응하는 메서드(GET URL하나)를 인터페이스로 정의

- 어노테이션을 이용하여 통신 방식을 지정

- https://dapi.kakao.com/v3/search/book?query=spring 

public interface KakaoBookService {

  @GET("v3/search/book")

  Call<BookResult> searchBook(@Query("query")String query);

}

 

<Call 객체>

서버에 요청하는 역할을 하는 객체.

Example)

KakaoBookService api = KakaoBookService.getService();

Call<BookResult> call = api.serachBook("축구", 50, 1); //요청을 할 수 있는 Call 객체 리턴

Response<BookResult> res = call.execute();// 서버에 요청 전송 // 동기식 : execute(); // 비동기식 : enqueue(callback)

 

isSuccessful() = 200 응답

 

<검색 복습>

1. 개발자 사이트에서 검색 대상 선정.

2. 요청 URL 확인.

3. 전송해야 할 쿼리의 명칭과 의미 확인.

4. target이 있을 수 있음.

5. 응답의 구조 확인. (Meta는 거의 동일, Documents는 차이가 있음.)

6. 결과를 담은 객체를 POJO 객체로 변환해야 함.

7. domain 객체가 준비됐으면 약간의 조정작업을 통해서(특히 Documents) 프로젝트에 객체 생성하기. - lombok으로 변경, Getter Setter 제거 등..

8. 인터페이스에서 메서드 하나를 생성.

==> 추상메서드가 특히 중요함.

9. 새로운 클래스에 Call 객체를 이용한 검색 클래스를 생성.

 

끝!

 

 

<강사님이 하나 더 소개 (추가적으로..)>

1. 카카오 개발자 사이트에 들어가기

2. 네비게이션, 로컬, 지도 등..

3. 로컬에 들어가면 지역 검색 + 지도 연동을 할 수 있는 REST API가 있음.

 

 

반응형
LIST

'멀티캠퍼스 > Spring' 카테고리의 다른 글

231025 (수)  (0) 2023.10.25
231020 (금) Weka  (0) 2023.10.20
231013 (금) NoSQL - MongoDB  (0) 2023.10.16
231012 (목) NoSQL - MongoDB  (0) 2023.10.13
검색 알고리즘  (0) 2023.10.12