
๋ด์ฉ 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 ์ ์ ์ํ์..
- WWDC22
- Notification
- Firebase
- watchOS
- containerBackground
- projectsetting
- SwiftUI
- urlsession
- Algorithm
- ์๋ฒํต์
- WidgetKit
- YPImagePicker
- github
- APNS
- WWDC
- RxCocoa
- Widget
- UserDefaults
- 2022 KAKAO TECH INTERNSHIP
- CloneCoding
- MOYA
- IOS
- Objective-C
- async/await
- Protocol
- Swift
- rxswift
- OpenSourceLibrary
- configurable widget
- MVVM
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday