๐ต Korea Music Chart API๋ ๋ค์ํ ์์ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ ํ๊ตญ ์ค์๊ฐ ์ฐจํธ TOP 100 ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ REST API์ ๋๋ค. ๊ธฐ์กด์ Java๋ก ์์ฑ๋ ์ฝ๋๋ฅผ Kotlin์ผ๋ก ์๋กญ๊ฒ ๊ฐ๋ฐํ์ต๋๋ค.
- ์ค์๊ฐ ์ฐจํธ ์กฐํ: ๋ฉ๋ก , ์ง๋๋ฎค์ง, ๋ฒ ์ค, ๋ฐ์ด๋ธ ๋ค์ํ ์์ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ ์ค์๊ฐ ์ฐจํธ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.
- ๊ณตํต ์๋ต ํฌ๋งท: ๋ชจ๋ API๋ ํ๋ซํผ๊ณผ ๋ฌด๊ดํ๊ฒ ์ผ๊ด๋ ์๋ต ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- Swagger-UI ์ ๊ณต: API ๋ช ์ธ๋ Swagger-UI๋ฅผ ํตํด ์๊ฐ์ ์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค.
- ์ ๊ทผ ๋ฐฉ๋ฒ: ์๋ฒ ์คํ ํ
/swagger-ui/index.html
๋ก ์ ์ํ๋ฉด ์ ์ฒด API ๋ช ์ธ๋ฅผ ํ์ธํ๊ณ ํ ์คํธํ ์ ์์ต๋๋ค. - ์ฃผ์ ๊ธฐ๋ฅ:
- ๊ฐ API์ ์์ฒญ ๋ฐ ์๋ต ๊ตฌ์กฐ ํ์ธ
- ์์ฒญ ํ๋ผ๋ฏธํฐ ์ ๋ ฅ ํ ์ค์๊ฐ ํ ์คํธ
- JSON ์๋ต ์ํ ์ ๊ณต
- URL: /api/chart/{provider}/realtime
- Method: GET
- Provider: melon, genie, bugs, vibe
- Description: ํน์ ์ ๊ณต์์ ์ค์๊ฐ ์ฐจํธ๋ฅผ ๋ฐํํฉ๋๋ค.
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
provider | String | Yes | ์ฐจํธ ์ ๊ณต์ | melon |
{
"code": 200,
"status": "OK",
"data": [
{
"artist_name": "ํ๋ฏผ(TAEMIN)",
"album_name": "Never Gonna Dance Again : Act 1 - The 3rd Album",
"song_name": "Criminal",
"album_image_url": "https://cdnimg.melon.co.kr/cm2/album/images/104/86/847/10486847_20200907155042_500.jpg",
"song_unique_id": "32908826",
"current_rank": 1,
"previous_rank": 2
}
]
}
ํค ์ด๋ฆ | ํ๊ธ๋ช | ์ค๋ช | ์์ ๊ฐ |
---|---|---|---|
artist_name |
์ํฐ์คํธ ์ด๋ฆ | ๊ณก์ ๋ถ๋ฅธ ์ํฐ์คํธ์ ์ด๋ฆ | ํ๋ฏผ(TAEMIN) |
album_name |
์จ๋ฒ๋ช | ๊ณก์ด ์๋ก๋ ์จ๋ฒ์ ์ด๋ฆ | Never Gonna Dance Again : Act 1 - The 3rd Album |
song_name |
๊ณก๋ช | ๊ณก์ ์ ๋ชฉ | Criminal |
album_image_url |
์จ๋ฒ ์ด๋ฏธ์ง URL | ์จ๋ฒ ์ด๋ฏธ์ง์ URL | https://cdnimg.melon.co.kr/cm2/album/images/104/86/847/10486847_20200907155042_500.jpg |
song_unique_id |
๊ณก ๊ณ ์ ๋ฒํธ | ๊ณก์ ๊ณ ์ ์๋ณ์ | 32908826 |
current_rank |
ํ์ฌ ์์ | ์ฐจํธ ๋ด ๊ณก์ ํ์ฌ ์์ | 1 |
previous_rank |
์ด์ ์์ | ์ด์ ์ฐจํธ์์์ ๊ณก์ ์์ | 2 |
Code | Message | Description |
---|---|---|
400 | Bad Request | ์๋ชป๋ ์์ฒญ ํ๋ผ๋ฏธํฐ |
404 | Unsupported chart provider | ์ง์ํ์ง ์๋ ์ ๊ณต์ |
- Java: JDK 17 ์ด์ ์ค์น
- Kotlin: 1.9.25
- Spring Boot: 3.4.1
- ์ธ์ด: Kotlin
- ํ๋ ์์ํฌ: Spring Boot
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ:
- Jackson: JSON ๋ฐ์ดํฐ ์ฒ๋ฆฌ
- Springdoc OpenAPI: Swagger ๋ฌธ์ ์๋ ์์ฑ
- RestTemplate: ์ธ๋ถ API ํธ์ถ
๋ณธ ํ๋ก์ ํธ๋ ์คํ์์ค ์ํํธ์จ์ด๋ก, MIT ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ์์ ๋กญ๊ฒ ์ฌ์ฉ, ์์ , ๋ฐฐํฌํ ์ ์์ต๋๋ค.
- ๋ณธ API๋ ์ ๊ณต์๋ณ ๊ณต๊ฐ๋ ์์ ์ฐจํธ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ๋์์ต๋๋ค.
- ๋ฐ์ดํฐ๋ ์์ ์ ๋ชฉ์ ์์ด ํ์ต, ๊ฐ๋ฐ, ๋น์์ ์ ์ฐ๊ตฌ๋ฅผ ์ํด ์ ๊ณต๋ฉ๋๋ค.
- ์ ์ ์๊ถ์๋ ๊ฐ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ด๋ฉฐ, ํด๋น ๋ฐ์ดํฐ์ ์์ ๊ถ ๋ฐ ์ง์ ์ฌ์ฐ๊ถ์ ๊ฐ ํ๋ซํผ์ ์์ต๋๋ค.
- ์์ ์ ์ฉ๋๋ก ์ฌ์ฉํ๊ฑฐ๋, ํ๋ซํผ์ ์๋น์ค ์ด์ฉ ์ฝ๊ด์ ์๋ฐํ์ง ์๋๋ก ์ฃผ์ํ์๊ธฐ ๋ฐ๋๋๋ค.
- ๋ฒ์ ๋ถ์์ด ๋ฐ์ํ ๊ฒฝ์ฐ, ์ฌ์ฉ์๋ ๋ณธ ํ๋ก์ ํธ์ ์ ์ง ๊ด๋ฆฌ์๋ ๊ธฐ์ฌ์๊ฐ ์๋ ๋ณธ์ธ์ ์ฑ ์ ํ์ ๋์ํด์ผ ํฉ๋๋ค.
์ด ํ๋ก์ ํธ๋ ํ๋ซํผ์ ๊ณต์ API๊ฐ ์๋๋ฉฐ, ์ด์ ๋ํ ์ง์์ ๋ณด์ฅํ์ง ์์ต๋๋ค.