🔥
Alamofireで空のレスポンスを取得する
Alamofireで空のレスポンスを取得したいときは、Empty
型もしくはEmptyResponse
プロトコルに適合した型を指定します。
AF.request("https://httpbin.org/status/204").responseDecodable(of: Empty.self) {
debugPrint($0)
}
struct NoContent: Decodable, EmptyResponse {
static func emptyValue() -> NoContent {
return NoContent()
}
}
AF.request("https://httpbin.org/status/204").responseDecodable(of: NoContent.self) {
debugPrint($0)
}
ただし、デフォルトで空のレスポンスが許容されるステータスコードは204
と205
だけなので、それ以外にも対応したい場合はemptyResponseCodes
も併せて指定する必要があります。
AF.request("https://httpbin.org/status/201").responseDecodable(of: Empty.self, emptyResponseCodes: [201, 204, 205]) {
debugPrint($0)
}
以上です。
Discussion