W_W_Woody 2022. 3. 21. 16:04

https://www.themoviedb.org/

 

The Movie Database (TMDB)

Welcome. Millions of movies, TV shows and people to discover. Explore now.

www.themoviedb.org

처음에 TMDB에서 회원가입 후 API 사용을 위한 개인 Key를 받아야한다.


원하는 데이터들의 url 형식을 응용하여 데이터(Json형식)를 뽑아낼 수 있다.

도큐먼트를 참고하여 원하는 데이터의 url 작성이 가능하다.

- API document

https://developers.themoviedb.org/3/getting-started/introduction

 

API Docs

 

developers.themoviedb.org

[Try it out]탭에서 url를 뽑아볼 수도 있다.


자주 쓰일 기능이므로 Utility로 생성시켜 작업하면 편리하다.

 

사용되는 공통적인 url은 

https://api.themoviedb.org/3/ 이고, 이후 url를 응용하여 작업한다.

 

이미지를 가져올 때 공통적인 url은 

https://image.tmdb.org/t/p/ 

 

예를 들어 

디즈니 플러스 OTT 컨텐츠를 받아와야 하므로 337번인 것을 확인 하고 url작성 시 사용한다.
https://api.themoviedb.org/3/discover/movie?api_key=사전에
 받은 API 키&with_watch_providers=337&watch_region=KR&language=ko 

url을 주소창에 입력하여 Json형식의 데이터를 뽑아낼 수 있다.

 

데이터를 buffer에 저장하여 처리한다.

movie시리즈와 tv시리즈 url이 다르니까 페이지가 다르다.

 

openStream() 메서드 :  url 주소를 InputStream에 넣어준다.

웹 → url 저장 → openStream()이용하여 InputStreamReader → BufferedReader

 

JSONParser  : 객체를 파싱하는 클래스

String값을 Json 객체로 만들어준다. 이 만들어진 Json객체는 JSONObject클래스를 사용해서 저장된다.

Json형식을 웹이나 다른 부분에서 받아 왔을때 해당 부분을 파싱 해주는 클래스이다.

 

json_simple-1.1.jar 를 받거나 maven에 설정해야 사용할 수 있다.

  • <pom.xml> maven 설정
<dependency>
			<groupId>com.googlecode.json-simple</groupId>
			<artifactId>json-simple</artifactId>
			<version>1.1.1</version>
</dependency>

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

JSONObject  String 형식의 JSON을 JSONObject 형으로 만들어 추출

 

 

이제 "result" 내부에 있는 Json값 데이터를 Array형태로 바꿔서 루프를 돌며 값을 추출한다.

JSONarray  ≒ ArrayList

아직 끝나지 않았다..

이러한 방법으로 필요한 데이터들을 파싱하여 사용할 수 있다.


이제 작성한util을 controller에서 사용하여 작업해준다.

 

Comparator인터페이스를 사용해서 평점순, 최신공개 순 으로 sorting하는 클래스를 만들어준다

[Comparator, Comparable]

sorting하는 java파일을 따로 빼서 작업하고, Controller에서 inport하여 사용 후 

jsp에서는 c:forEach문을 돌려서 나열한다.