
๋ด์ฉ Moya ๋ก ๊ตฌ์ถํ ์๋ฒํต์ ํ๊ฒฝ์์ ์๋ฒํต์ ์ ์งํํ๊ณ RxSwift ๋ฅผ ์ฌ์ฉํด๋ณด์ ๐ ๋ค์ด๊ฐ๊ธฐ ์ ์ฐ์ , Moya ๊นํ๋ธ์์ ์ ๊ณตํ๋ RxSwift ๋ฌธ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. Moya ์ MoyaProvider ๋ ๋ช ๊ฐ์ง ์ ํ์ ์ธ RxSwift ๊ตฌํ์ ์ ๊ณตํฉ๋๋ค. request() ๋ฉ์๋๋ฅผ ํธ์ถํ๊ณ ์์ฒญ์ด ์๋ฃ๋ ๋ ์ฝ๋ฐฑ ํด๋ก์ ๋ฅผ ์ ๊ณตํ๋ ๋์ Observable ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ success ์ error ๋ฅผ ๋ฐฉ์ถํ๋ trait ์ ํ ์ข ๋ฅ์ธ Single ์ ํด๋นํฉ๋๋ค. provider.rx.request(.zen).subscribe { event in switch event { case .success(let response): // do something with the data cas..
๋ด์ฉ Error Handling. extension ์ ํ์ฉํ protocol method ์ ๊ธฐ๋ณธ ๊ตฌํ ์ค์ . request query ๋ฅผ ์ฌ์ฉํ GET ์๋ฒํต์ ์ ๊ตฌํ existential metatype ํ์ฉํด์ ๋์ฝ๋ฉ ์๋ฌ์ผ ๋ ํด๋น ์๋ฃํ ๋ค๋ฃจ๊ธฐ. ์ ๋ฐ์ ์ผ๋ก Moya ์ ๊ตฌ์กฐ๋ฅผ ๊ณต๋ถํ๋ฉด์ URLSession ์ ์ ๋ชฉ์์ผ์ ์งํ. ๊ตฌํ ๋ถ๋ถ HTTP Method: HTTP ๋ฉ์๋๋ฅผ ๊ฐ์ง๋ ๊ตฌ์กฐ์ฒด. Moya ์ฐจ์ฉ TargetType: ํด๋น ํ๋กํ ์ฝ์ ์ฑํํด์ Service ํ์ผ์ ๊ตฌํํ๊ธฐ ์์ํ๋๋ก ํ์ต๋๋ค. Moya ์ฐจ์ฉ Network Task: request ๋ฅผ ์์ ํ ๋ฐฉ๋ฒ์ ๊ฐ์ง๋ enum. Moya ์ฐจ์ฉ Parameter Encoding: ํ๋ผ๋ฏธํฐ๋ฅผ ์ธ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ง๋ enum. Moy..

๋ด์ฉ ์๋ฒ ํต์ ์์ ๋คํธ์ํฌ๊ฐ ์ ์ค๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ค์ ๋ฌด์์ ๊ธฐ๋ค๋ฆด ์ ๋ฐ์ ์๋ค. ์ด๋ alert ์ฐฝ๊ณผ ํจ๊ป ๋คํธ์ํฌ ์ฐ๊ฒฐ ์คํจ์ ๋ํด ์๋ ค์ฃผ์! Moya ์ Plugin ์ ์ปค์คํ ํด์ ๋์ํด๋ณด์. Moya Plugin ์ ๋ํด์ ์์๋ณด์ Moya/Plugins.md at master · Moya/Moya Moya plugin ์ ๋ค์์ ๋ฉ์๋๋ฅผ ํธ์ถํด์ request ์ response ๋ฅผ ์์ ํ๊ฑฐ๋ side-effect ์ ๋ํด์ ์ํํ ์ ์์ต๋๋ค. (prepare) after Moya has resolved the TargetType to a URLRequest. This is an opportunity to modify the request before it is sent (e.g. add ..
๋ด์ฉ Custom Moya Plugin ์ ํ์ฉํด์ Refresh Token ์ผ๋ก Access Token ๊ฐฑ์ ํ๊ธฐ ์๋ฒํต์ ๊ณผ์ 1๏ธโฃ ๋ชจ๋ ์๋ฒํต์ + ์ก์ธ์ค ํ ํฐ 2๏ธโฃ ์ก์ธ์ค ํ ํฐ ๋ง๋ฃ o (40x status code) 3๏ธโฃ didReceive ์์ ์๋ฒํต์ (์ก์ธ์ค ํ ํฐ + ๋ฆฌํ๋ ์ฌ ํ ํฐ) ๋ฐ๋์ ๋ด์ ๋ณด๋ด๊ธฐ -> 3-1 ๋ฆฌํ๋ ์ฌ ํ ํฐ ๋ง๋ฃ x (200 status code) -> ์ก์ธ์ค ํ ํฐ, ๋ฆฌํ๋ ์ฌ ํ ํฐ ๊ฐฑ์ -> 3-2 ๋ฆฌํ๋ ์ฌ ํ ํฐ ๋ง๋ฃ o (40x status code) 4๏ธโฃ ๋ฆฌํ๋ ์ฌ ํ ํฐ, ์ก์ธ์คํ ํฐ ์ญ์ ๋ฐ ๋ก๊ทธ์ธ ํ๋ฉด์ผ๋ก ๋ณด๋ด๊ธฐ ๐ก Plugin ์ปค์คํ ํด์ ํด๊ฒฐํ๊ธฐ Plugins Moya plugins are used to modify requests and responses ..
์ง๊ธ๊น์ง GET, POST ํต์ ๋ง ์ฌ์ฉํด๋ณด์๋ค. DELETE ์ PATCH ๋ ๊ตฌํํด๋ณด์. ๋จผ์ DELETE ์ PATCH ํต์ ์ ๋ํด์ ์์๋ณด์. ๐ DELETE? ํน์ ๋ฆฌ์์ค๋ฅผ ์ญ์ . DELETE ๋ request body ๊ฐ ์์ง๋ง response body ๊ฐ ์กด์ฌํ๋ค. ๐ PATCH? ํน์ ๋ฆฌ์์ค์ ๋ถ๋ถ๋ง์ ์์ . PATCH ๋ request body ์ response body ๊ฐ ์กด์ฌํ๋ค. ์ฌ์ง ์ถ์ฒ : HTTP - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ ๐ Moya ์์ DELETE, PATCH ๊ตฌํํ๊ธฐ path ์ method ๋ฅผ ์ค์ ํ๋ ๊ณผ์ ๊น์ง๋ ์์กฐ๋กญ๋ค๊ณ ์๊ฐํ๋ค. ๋ค์์ ์ธ๊ฐ์ง ํต์ ์ ๊ตฌํํด๋ณด์. fetchPopoList : GET ํต์ . deletePopo : URL path ์ ์ ์ํ์..
- configurable widget
- Algorithm
- ์๋ฒํต์
- Protocol
- CloneCoding
- RxCocoa
- projectsetting
- OpenSourceLibrary
- IOS
- async/await
- containerBackground
- github
- UserDefaults
- watchOS
- rxswift
- Swift
- Objective-C
- SwiftUI
- WidgetKit
- Firebase
- YPImagePicker
- WWDC
- MVVM
- 2022 KAKAO TECH INTERNSHIP
- APNS
- MOYA
- Notification
- urlsession
- Widget
- WWDC22
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- Total
- Today
- Yesterday