以下调用中的数据为nil,因此调用失败:
postRequest("/api/users/signup", params: params, headers: nil) { data in
guard data != nil else {
return completionHandler(nil, UsersStoreError.CannotSignup)
这是postRequest函数:
private func postRequest(_ url: String, params: Parameters?, headers: HTTPHeaders?, completion: @escaping([String:Any]?) -> Void) {
let enc = JSONEncoding.default
let url = AppConstants.ENDPOINT + url
Alamofire
.request(url, method: .post, parameters:params, encoding:enc, headers:headers)
.validate()
.responseJSON { response in
switch (response.result) {
case .success(let data): completion((data as! [String:Any]))
case .failure(_): completion(nil)
}
}
}
如何跟踪此呼叫的响应?
答案 0 :(得分:0)
在postRequest方法的responseJSON块中设置一个断点,然后检查/打印响应参数。那应该给您有关请求和响应的信息。
响应可能不是有效的JSON。要检查您实际返回的内容,请将其添加到responseJSON(在切换之前):
debugPrint(String(data: response.data!, encoding: .utf8))