Я не знаю, как передать или реализовать данные из Decodable Model в ViewController. И я ожидаю статуса 200 или сообщения "успех" в моем контроллере представления. Поэтому я могу поместить его в свой UIButton, чтобы показать пользователю, что сервер был подключен.
Я пробовал debugPrint (ответ) некоторое время go, и API работает нормально.
Мой Модель
struct ServerStatus: Decodable {
let status: Int?
let service: String?
let function: String?
let msg: String?
enum CodingKeys: String, CodingKey {
case status = "status"
case service = "service"
case function = "function"
case msg = "msg"
}
}
Мой вызов API с использованием Alamofire 5.0
class APIManager {
static let sharedInstance = APIManager()
let headers: HTTPHeaders = [
.authorization(APIDefinitions.api_id)
]
func fetchServerStatus(parameters: Parameters, completion:@escaping (_ data: ServerStatus?, _ error: String?) -> Void){
AF.request(APIDefinitions.getServerStatus, method: .get, headers: headers).responseDecodable(of: ServerStatus.self) { (response) in
print(response)
switch response.result{
case .success(let serverStatus):
completion(serverStatus, nil)
break
case .failure( _):
completion(nil, "The Internet connection appears to be offline.")
break
}
}
}
}