我遇到了一个问题,即我正在发送httppost请求以Alamofire更新数据,因为我发送的参数均为[String:Any]我所有的发布请求均成功。但是,对于我的一种POST方法,我必须将参数作为简单字符串(例如“ 80:1,85:3,86:2”)发送,而不是键/值对,因为我的服务器端需要一个字符串。我已经在Internet和StackOverFlow上进行了搜索,但是找不到任何解决方案。是否可以用String发出HttpPost请求,如果可能,怎么做?
到目前为止,我的代码是:
var request = URLRequest(url: URL(string: updateAchievementOrderURL)!)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let postString = sortedOrderString
let json = postString.data(using: .utf8)!
print(json)
request.httpBody = json
Alamofire.request(request).responseJSON {response in
switch response.response?.statusCode {
case 200?:
print(response.result.value!)
case 202?:
print(response.result.value!)
case 404?:
print(response.result.value!)
case 500?:
print(response.result.value!)
default:
print(response.result.value!)
}
}
正在接受案例202,但不是成功案例。
我已经签入邮递员,如果我发送类似“ 80:1,85:3,86:2”的字符串,则可以正常工作,请参见下图以供参考:
此处返回200“ OK”,并且工作正常: