import Foundation import Alamofire struct EmptyParams: Encodable {} struct HTTPBinResponse: Decodable { let code: Int let data: T let message: String } func makeAlamofireRequest(api: String, method: HTTPMethod = .get, param: Parame? = nil, completion: @escaping (Result, AFError>) -> Void) { var headers: HTTPHeaders = [ "Accept": "application/json", "Content-Type":"application/json" ] let loginStatus = checkLoginStatus() if loginStatus.login { headers.add(name: "Authorization", value: loginStatus.token) } AF.request(api, method: method, parameters: param, encoder: JSONParameterEncoder.default,headers: headers).validate().responseDecodable(of: HTTPBinResponse.self) { response in completion(response.result) } }