【发布时间】:2021-07-15 10:33:44
【问题描述】:
我正在尝试通过 Almofire 库放置和删除数据,但面临有关参数的问题。参数丢失,错误如下:
Response JSON data = {
data = "<null>";
issuccess = 0;
msg = "{'car_id': [ErrorDetail(string='This field is required.', code='required')], 'car_brand_id': [ErrorDetail(string='This field is required.', code='required')], 'last_oil_change': [ErrorDetail(string='Date has wrong format. Use one of these formats instead: YYYY-MM-DD.', code='invalid')]} with error { Custom error message. }";
}
我正在使用以下代码:
let params : [String : String] = ["brand_model_id": String(car_model_id), "oil_brand_id": String(oil_brand_id), "car_mileage": edCurrentMilage.text!, "car_modelyear": edVehicleModelYear.text!, "last_oil_change": edLastOilChange.text!]
Alamofire.request(Constants.APIURL + Constants.APIPOSTCARDATA ,method:.put, parameters: params, encoding: JSONEncoding.default, headers: header).responseJSON { [self] response in
guard response.result.isSuccess,
let value = response.result.value else {
print("Error while fetching tags: \(String(describing: response.result.error))")
self.hideIndicator()
// self.btn_submit_outlet.isEnabled = true
// completion(nil)
return
}
print(value)
let json = JSON.init(value as! NSDictionary)
print(json)
let code = json["issuccess"].boolValue
if(code)
{
self.hideIndicator()
Commons.showAlert(title: "Alert", error: "Data has been added.", VC: self)
}
else
{
self.hideIndicator()
Commons.showAlert(title: String.localizedStringWithFormat(NSLocalizedString("Alert", comment: "")), error: String.localizedStringWithFormat(NSLocalizedString("Something went wrong.", comment: "")), VC: self)
}
}
上面提到的代码用于 PUT 调用请帮助。提前致谢。
【问题讨论】:
-
正如您在错误消息中看到的,只需正确设置这些类别,就可以确保输出...
-
你错过了两件事
car_id,car_brand_id,最后一部分日期格式应该是YYYY-MM-DD。 -
我已将这些添加为参数,但服务器没有获得参数,这就是它发送此错误的原因@jatinfl
-
“味精”的哪一部分你不明白?
-
@ElTomato 我使用相同参数的 Post 调用工作正常,但它不适用于 PUT 并返回参数丢失的错误。我想知道为什么 PUT 或 delete 调用中不接受参数?
标签: ios swift objective-c