์ด๋ฒ ๋ ์จ์ก ํํ๋ก์ ํธ์์ OpenWeather API์ Kakao API๋ฅผ ์ฌ์ฉํ๋ฉด์,
์๋ก ๋ค๋ฅธ ์๊ตฌ์ฌํญ ๋๋ฌธ์ ํ๋์ ๋คํธ์ํฌ ๋งค๋์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์๋ค.
- OpenWeather API: ์์ฒญ ์ ํค๋ ์ค์ ์ด ํ์ํ์ง ์์.
- Kakao API: ์์ฒญ ์ ์ธ์ฆ์ ์ํ ํค๋(Header) ์ถ๊ฐ ํ์.
-> ์์ ๊ฐ์ด ๋ API์ ์์ฒญ ๋ฐฉ์์ด ๋ค๋ฅด๋ค ๋ณด๋, ํ๋์ fetchData(url: URL) ๋ฉ์๋๋ก ๋ API๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ๋ค์ ๋ณต์ก.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, Endpoint๋ฅผ ํ์ฉํ์ฌ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด๋ณด์๋ค.
๊ฐ API์ ๋ํด ๋ณ๋์ Endpoint ํด๋์ค๋ฅผ ์ ์ํ๊ณ , ๊ฐ๊ฐ์ API์ ํ์ํ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
Endpoint์ ๋ค์ํ ์ฅ์ ๋ค์ด ์๊ฒ ์ง๋ง, ๊ฐ์ธ์ ์ผ๋ก ์ ๊ฐ ์ฌ์ฉํด๋ณด๊ณ ๊ฒฝํํ ์ด์ ์ ์๋์ ๊ฐ๋ค.
1. ๊ฐ๊ฐ์ API ์๊ตฌ์ฌํญ์ ๋ง๊ฒ Endpoint๋ฅผ ์ ์ํ๊ธฐ ๋๋ฌธ์, ์๋ก ๋ค๋ฅธ ํ์์ ์์ฒญ๋ ํ๋์ ๋คํธ์ํฌ ๋งค๋์ ์์ ์ ์ฐํ๊ฒ ์ฒ๋ฆฌํ ์ ์์.
2. ๊ฐ๊ฐ์ API์ URL์ด๋ ๊ฒฝ๋ก๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ๊ด๋ฆฌ ๋ฐ ์์ ์ด ์ฌ์.
3. ์๋ก์ด API๊ฐ ์ถ๊ฐ๋๋๋ผ๋ ๊ธฐ์กด ๊ตฌ์กฐ์ ์ฝ๊ฒ ํตํฉํ ์ ์์.
์ถ๊ฐ์ ์ผ๋ก ์๋ ๋งํฌ๋ endpoint์ ๋ํด ์ ๋ฆฌํ TIL์ด๋ค.
https://dkswlgus0314.tistory.com/283
๋ฐํํ ๋ 5์กฐ๋ endpoint ๊ฐ๋ ์ ์ฌ์ฉํ์๋๋ฐ, enum์ ์ฌ์ฉํ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผํ๋ค.
enum์ผ๋ก ์ฌ์ฉํ์ ๋์ ์ฅ์ ๊ณผ, ๊ฐ๊ฐ ์ด๋ค ์ํฉ์์ ์ ํฉํ ์ผ์ด์ค์ธ์ง ์ถ๊ฐ์ ์ผ๋ก ์ฐพ์๋ณผ ์์ .
'๐ iOS > Network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Firebase] iOS ํ์ด์ด๋ฒ ์ด์ค Xcode์ ์ฐ๊ฒฐํ๊ธฐ (0) | 2024.08.25 |
---|---|
JSONObject์ JSONArray (0) | 2024.08.20 |
Netflix ํด๋ก ์ฝ๋ฉ URLSession ๋ฆฌํฉํ ๋งํด๋ณด๊ธฐ/ Endpint (0) | 2024.08.10 |
DispatchQueue.global().async์ DispatchQueue.main.async (0) | 2024.08.03 |
[URLSession] completion(nil) ๋์ Result ํ์ ์ฌ์ฉํด๋ณด๊ธฐ (0) | 2024.08.02 |