import Foundation import Moya enum ContentOverviewApi { case getContents(type: ContentOverviewType, page: Int, size: Int) } extension ContentOverviewApi: TargetType { var baseURL: URL { return URL(string: BASE_URL)! } var path: String { switch self { case .getContents: return "/api/v2/contents" } } var method: Moya.Method { switch self { case .getContents: return .get } } var task: Moya.Task { switch self { case .getContents(let type, let page, let size): return .requestParameters( parameters: [ "page": page, "size": size, "type": type.rawValue ], encoding: URLEncoding.queryString ) } } var headers: [String: String]? { return ["Authorization": "Bearer \(UserDefaults.string(forKey: UserDefaultsKey.token))"] } }