From 5e4b5444f6b936087b5676e997d109565e9b08d4 Mon Sep 17 00:00:00 2001 From: yamanetaisei Date: Sat, 27 Feb 2021 16:07:56 +0900 Subject: [PATCH 1/3] =?UTF-8?q?Error=E3=81=AE=E5=87=A6=E7=90=86=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Colombia/Sources/APIClient/APIClient.swift | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Colombia/Sources/APIClient/APIClient.swift b/Colombia/Sources/APIClient/APIClient.swift index 8fa970e..0ae8506 100644 --- a/Colombia/Sources/APIClient/APIClient.swift +++ b/Colombia/Sources/APIClient/APIClient.swift @@ -19,17 +19,18 @@ struct APIClient { let url = requestable.url let request = URLRequest(url: url) let task = URLSession.shared.dataTask(with: request) { resultData, response, error in - guard let resultData = resultData else { - if let error = error { - observer.onError(error) - } + if let error = error { + observer.onError(APIError.unknown(error)) + } + guard let resultData = resultData, response != nil else { + observer.onError(APIError.response) return } do { let decodeData = try decoder.decode(T.Response.self, from: resultData) observer.onNext(decodeData) } catch let error { - observer.onError(error) + observer.onError(APIError.decode(error)) } } task.resume() @@ -37,3 +38,9 @@ struct APIClient { } } } + +enum APIError: Error { + case decode(Error) + case response + case unknown(Error) +} From 445b9f93a5e388bc178455f5d7cb084a8ed72ae9 Mon Sep 17 00:00:00 2001 From: yamanetaisei Date: Sat, 27 Feb 2021 17:43:20 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=E3=82=B3=E3=83=A1=E3=83=B3=E3=83=88?= =?UTF-8?q?=E3=82=92TODO=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Colombia/Sources/APIClient/AnnictAPIRequest.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Colombia/Sources/APIClient/AnnictAPIRequest.swift b/Colombia/Sources/APIClient/AnnictAPIRequest.swift index af028c7..16b3490 100644 --- a/Colombia/Sources/APIClient/AnnictAPIRequest.swift +++ b/Colombia/Sources/APIClient/AnnictAPIRequest.swift @@ -21,7 +21,7 @@ enum AccessToken { } enum Endpoint { - //とりあえずworksだけ実装 + //TODO:とりあえずworksだけ実装 case works func endpoint() -> String { @@ -45,9 +45,9 @@ struct AnnictAPIRequest:Requestable { switch endpoint { case .works: baseURL.queryItems = [ - //1ページあたりのデータの数、とりあえず20を指定 + // TODO: 1ページあたりのデータの数、とりあえず20を指定 URLQueryItem(name: "per_page", value: "20"), - //とりあえずid,title,recommended_urlのみを受け取る + // TODO: とりあえずid,title,recommended_urlのみを受け取る URLQueryItem(name: "fields", value: "id,title,images"), URLQueryItem(name: "access_token", value: AccessToken.annictAPI) ] From 06b80d60bf1b9830c5152971301bab639984cee1 Mon Sep 17 00:00:00 2001 From: yamanetaisei Date: Sat, 27 Feb 2021 17:44:56 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=E7=A9=BA=E7=99=BD=E3=82=92=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Colombia/Sources/APIClient/AnnictAPIRequest.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Colombia/Sources/APIClient/AnnictAPIRequest.swift b/Colombia/Sources/APIClient/AnnictAPIRequest.swift index 16b3490..116c0e9 100644 --- a/Colombia/Sources/APIClient/AnnictAPIRequest.swift +++ b/Colombia/Sources/APIClient/AnnictAPIRequest.swift @@ -21,7 +21,7 @@ enum AccessToken { } enum Endpoint { - //TODO:とりあえずworksだけ実装 + // TODO: とりあえずworksだけ実装 case works func endpoint() -> String {