Ios 邮寄请求中的Alamofire Bool将作为';正确';
我试图在POST请求中发送一个Swift Bool,但是服务器需要一个数字,但是请求HTTP正文显示Bool是作为“true”发送的 我正在创建如下参数:Ios 邮寄请求中的Alamofire Bool将作为';正确';,ios,swift,post,alamofire,Ios,Swift,Post,Alamofire,我试图在POST请求中发送一个Swift Bool,但是服务器需要一个数字,但是请求HTTP正文显示Bool是作为“true”发送的 我正在创建如下参数: let params: [String: AnyObject] = [ "quantity": quantity, // Int "amount": totalAmount, // Double "use_credit": NSNumber(bool: useCredit
let params: [String: AnyObject] = [
"quantity": quantity, // Int
"amount": totalAmount, // Double
"use_credit": NSNumber(bool: useCredit) // Bool useCredit
]
func postRequest(url: String, params: [String : AnyObject]?, headers: [String : String]?, completion: APICompletionHandler) {
self.manager.request(.POST, baseURL.stringByAppendingString(url), parameters: params, encoding: .JSON, headers: headers).responseJSON(completionHandler: { response -> Void in
switch response.result {
case .Success(let data):
completion(json: JSON(data), error: nil)
case .Failure(let error):
completion(json: nil, error: error)
}
})
}
post请求如下所示:
let params: [String: AnyObject] = [
"quantity": quantity, // Int
"amount": totalAmount, // Double
"use_credit": NSNumber(bool: useCredit) // Bool useCredit
]
func postRequest(url: String, params: [String : AnyObject]?, headers: [String : String]?, completion: APICompletionHandler) {
self.manager.request(.POST, baseURL.stringByAppendingString(url), parameters: params, encoding: .JSON, headers: headers).responseJSON(completionHandler: { response -> Void in
switch response.result {
case .Success(let data):
completion(json: JSON(data), error: nil)
case .Failure(let error):
completion(json: nil, error: error)
}
})
}
在控制台中打印HTTP响应主体时,我得到以下信息:
{\"use_credit\":true,\"amount\":15,\"quantity\":1,\"event_id\":30}
你能不能只
“use_credit”:Int(useccredit)
?如果你把到达的数据作为字符串发布,那么在后端告诉你改变类型cast@Anbu.Karthik我不认为服务器端应该进行强制转换,我不明白为什么Alamofire会将其更改为true,尽管我将其转换为数字。显然,但是:在对参数进行编码时,您确定useCredit
为false
?