File tree Expand file tree Collapse file tree 1 file changed +50
-2
lines changed
Expand file tree Collapse file tree 1 file changed +50
-2
lines changed Original file line number Diff line number Diff line change @@ -35,19 +35,67 @@ let package = Package(
3535import AsyncURLSession
3636```
3737
38- ### requestAsync
39- #### async/await만 사용하게 구현
38+ ### async/await만 사용하게 구현 Service 부분
4039
4140``` swift
4241import AsyncURLSession
4342
43+ protocol BaseTargetType : TargetType { }
44+
45+ extension BaseTargetType {
46+ public var baseURL: URL {
47+ return URL (string : BaseAPI.baseURL .apiDesc )!
48+ }
49+
50+ public var headers: [String : String ]? {
51+ return APIHeader.baseHeader
52+ }
53+
54+ }
55+ ```
56+
57+ ``` swift
58+ mport AsyncURLSession
59+
60+ public enum TrackService {
61+ case trackEvent (event : Event)
62+ }
63+
64+ extension TrackService : BaseTargetType {
65+ public var path: String {
66+ switch self {
67+ case .trackEvent :
68+ return TrackAPI.trackEvent .desc
69+ }
70+ }
71+
72+ public var method: AsyncURLSession.HTTPMethod {
73+ switch self {
74+ case .trackEvent :
75+ return .post
76+ }
77+ }
78+
79+ public var task: AsyncURLSession.NetworkTask {
80+ switch self {
81+ case .trackEvent (let event):
82+ return .requestParameters (parameters : event.toDictionary (), encoding : .json )
83+ }
84+ }
85+ }
86+ ```
87+
88+
89+ ### requestAsync 사용 부분
90+ ``` swift
4491let provider = AsyncProvider< GitHub> ()
4592
4693 func getDate () async throws -> CurrentDate? {
4794 return try await provider.requestAsyncAwait (.getDate , decodeTo : CurrentDate.self )
4895}
4996```
5097
98+
5199### Log Use
52100로그 관련 사용은 [ LogMacro] ( https://github.com/Roy-wonji/LogMacro ) 해당 라이브러리에 문서를 참고 해주세요. <br >
53101
You can’t perform that action at this time.
0 commit comments