struct ApiResponse: Decodable {
let data: [DataModel] // API에 맞는 데이터 모델로 수정
}
struct DataModel: Decodable {
let id: String
let name: String
}
class CustomNetworkManager {
private let networkManager = NetworkManager() // NetworkManager 인스턴스 생성
private let baseURL = "https://api.example.com" // 기본 URL 설정
private let endpoint = "/v1/exampleData" // 엔드포인트 설정
func fetchData(queryParam: String) -> Observable<ApiResponse> {
let parameters: [String: Any] = [
"query": queryParam, // API 요청 시 사용할 파라미터
"limit": 50, // 요청할 데이터 수 제한
"apiKey": "YOUR_API_KEY" // API 접근을 위한 키
]
// NetworkManager의 request 메소드를 재사용하여 데이터를 가져옴
return networkManager.request(
baseURL: baseURL, // API의 기본 URL
endpoint: endpoint, // API 엔드포인트
parameters: parameters, // 요청에 필요한 파라미터
responseType: ApiResponse.self // 응답 데이터를 ApiResponse 타입으로 디코딩
)
}
요약
작업 내용
참고 사항
struct DataModel: Decodable { let id: String let name: String }
class CustomNetworkManager { private let networkManager = NetworkManager() // NetworkManager 인스턴스 생성 private let baseURL = "https://api.example.com" // 기본 URL 설정 private let endpoint = "/v1/exampleData" // 엔드포인트 설정
}