진이의 Developer Story

리그오브레전드 API 사용하기 (1) 본문

Java/Spring

리그오브레전드 API 사용하기 (1)

JIN3260 2016. 2. 4. 11:14

안녕하세요.
이번 포스팅에서는 라이엇게임즈에서 제공해주는 API를 사용하는 방법에 대해 포스팅해보려고 합니다.
본견적인 포스팅에 앞서 라이엇에서 제공해주는 API의 정보들을 정리해보았습니다.

 API

 리턴값

 champion-v1.2

 챔피언 정보를 반환합니다.

 championmastery

 챔피언 숙련도 정보를 반환합니다.

 current-game-v1.0

 현재 진행중인 실시간 게임정보를 반환합니다. (관전요약 부분을 나타낼 때 사용합니다.)

 featured-games-v1.0

 라이엇에서 제시해주는 현재 진행중인 실시간 게임들을 반환합니다.

 game-v1.3

 최근 진행한 게임의 리스트를 반환합니다. (최대 10게임)

 league-v2.5

 리그 정보를 반환합니다.

 lol-static-data-v1.2

 게임에서 사용되는 데이터들을 제공합니다. (챔피언, 아이템, 맵, 마스터리, 룬, 소환사 스펠 등)

 lol-status-v1.0

 게임서버의 상황을 반환합니다.

 match-v2.2

 게임의 자세한 정보를 반환합니다.

 matchlist-v2.2

 소환사의 매치리스트를 반환합니다. (여러가지 필터 적용 가능)

 stats-v1.3

 소환사의 전적정보를 반환합니다. (랭크게임, 요약정보)

 summoner-v1.4

 소환사 정보를 반환합니다. (소환사 id, 레벨 등) 

 team-v2.4

 랭크팀 정보를 반환합니다. (팀의 로스터, 매치 내역 등)

정확한 내용은 라이엇게임즈 API에서 확인해주시길 바랍니다.
위의 표와 정리된 내용들을 라이엇에서 제공해주는 API를 통해 JSON 데이터로 받아올 수 있습니다.

API를 통해서 얻어온 소환사 정보입니다.
(참고로, API를 사용하기 위해서는 라이엇게임즈 API에 가입을 하셔야 하고, API-KEY를 발급받아서 사용하셔야 합니다!)

{"sktt1faker": {
   "id": 1135567,
   "name": "SKT T1 Faker",
   "profileIconId": 7,
   "revisionDate": 1453304880000,
   "summonerLevel": 30
}}

위와 같은 형태로 제공되는 JSON 타입의 데이터를 파싱하여 사용하여야 합니다.
근데 상기의 API들은 무려 13개이고, API 항목아래 파라미터 타입이 다르다거나, 다른 형태의 API도 존재합니다.
따라서 객체지향 설계에 맞게 API들을 가공하여 라이브러리를 만들어야 겠지요.
그런데 하나의 APP을 만들기 위해 라이브러리를 만들수도 없는 처지아닙니까?

이런 걱정을 떨쳐줄 좋은 소식이 있습니다.
다른 개발자들이 이미 만들어놓은 좋은 라이브러리를 가져다 쓰는 것이지요.
[List of public libraries] - 라이엇게임즈 API
위의 링크를 타고 들어가면, 언어별로 만들어진 라이브러리들이 있습니다.
(JAVA, C#, PHP, NodeJS/JavaScript, 파이썬, 루비)

저희는 만들어진 라이브러리를 프로젝트에 임포트하여, 적극 활용하면 되는것입니다.
그럼 어떤 라이브러리가 좋은 라이브러리일까요?
라이엇게임즈에서 API를 꾸준히 업데이트하기 때문에 지속적으로 업데이트를 해주는 라이브러리가 좋습니다.
또한, 자신이 구현하고자 하는 기능에 맞게끔 기능이 잘 구현되어있어야 하고, 설계가 잘되어있는 코드가 좋겠지요.

이번에 올리는 포스트는 JAVA 라이브러리 중
riot-api-java 기준으로 작성하겠습니다.
다음 포스트에서는 라이브러리를 활용하여 데이터를 뽑아오는 방법에 대해 알아보겠습니다.

Comments