我曾尝试使用以下代码来处理请求,但结果为400错误。 API由标题和正文组成。标题有两个字段,即“授权”和“内容类型”。正文格式被添加到下面的参数。如何在Alamofire中请求带有body和header的JSON?
func file(sender: abc){
let baseUrl = "url”
let params: [String : Any] = [
"profile": [
“Type": [
" Real Estate",
"Estater",
"Construction",
"Entertainment"
],
"Size": [
"large",
“small”
],
"Level": [
“A”,
“B”
],
“Name” : [
“John”,
“Harry”
]
]
]
let header = [
"Authorization" : "bearer e2ff3aa3-63a3-41d1-bc5a-3e8c88adeaaa",
"Content-Type" : "application/json"
]
// var request = URLRequest(url: URL(string:baseUrl)!)
// request.httpMethod = HTTPMethod.post.rawValue
// request.setValue("application/json", forHTTPHeaderField: "Content-Type")
// request.addValue("bearer e2ff3aa3-63a3-41d1-bc5a-3e8c88adeaaa", forHTTPHeaderField: "Authorization")
// let data = try! JSONSerialization.data(withJSONObject: params as Any, options:JSONSerialization.WritingOptions.prettyPrinted)
//
// request.httpBody = data
Alamofire.request("\(baseUrl)", method: .post, parameters: params, headers:header).responseJSON { response in
print(response.request ?? "no request") // original URL requ est
print(response.response ?? "no response") // HTTP URL response
print(response.data ?? "no data") // server data
print(response.result) // result of response serialization
print(response.response?.statusCode ?? "noCode")
if(response.response?.statusCode != nil){
switch response.response!.statusCode {
case 200:
print("Success")
let json = JSON(data: response.data!)
print(json)
sender.onSuccessCall()
case 400:
print("Error in authentication")
case 401:
print("Error authentication object was not found")
default:
print("dEfault")
}
}
}
}
请帮助解决售后服务这个问题。
,我们不知道你的API希望你在做什么你的工作 –
我只是想通过POST请求JSON数据,但它说400错误。我的代码中有任何错误吗? –
不知道你的API期望什么,我们不能帮助。请包括一个成功的请求在你的问题,即使它不是从迅速(即邮递员请求,卷曲请求等)。 –