gpt4 book ai didi

swift - Alamofire 和 JSONAPI

转载 作者:行者123 更新时间:2023-11-30 13:45:41 26 4
gpt4 key购买 nike

我正在尝试弄清楚如何将 Alamofire 与 JSONAPI 数据源一起使用。我正在尝试POST一些数据。下面的代码不起作用。我正在学习 HTTP 请求和 JSON,因此代码可能存在其他问题。非常感谢任何帮助。

        let parameters = [
"data" : [
"type" : "notes",
"attributes" : [
"relevant-date" : date,
"details" : self.textField.text
],
"relationships" : [
"child" : [
"data" : [
"type" : "children",
"id" : self.passedChildID!
]
]
]
]
]

Alamofire.request(.POST, "url", parameters: parameters, encoding: .JSON)
.responseJSON { (response) -> Void in
if let value = response.result.value {
let json = JSON(value)
}
}

最佳答案

这个问题已通过服务器端过滤器解决,更新后的代码如下。

let parameters = [
"auth_token" : "test",
"filter" : [
"phone-number" : self.PhoneNumber!
]
]
Alamofire.request(.GET, url, parameters: parameters, encoding: .URL)
.responseJSON { (response) -> Void in
print("Request \(response.request)")
}

编辑

真的使用 Alamofire Github 页面中的代码解决了这个问题。我必须添加下面标识的 2 个单独的 header 。

let URL = NSURL(string: "https://httpbin.org/post")!
let mutableURLRequest = NSMutableURLRequest(URL: URL)
mutableURLRequest.HTTPMethod = "POST"

let parameters = ["foo": "bar"]

do {mutableURLRequest.HTTPBody = try NSJSONSerialization.dataWithJSONObject(parameters, options: NSJSONWritingOptions())
} catch {
// No-op
}

mutableURLRequest.setValue("application/vnd.api+json", forHTTPHeaderField: "Content-Type") //one header
mutableURLRequest.setValue("application/vnd.api+json", forHTTPHeaderField: "Accept") //second header

Alamofire.request(mutableURLRequest)

关于swift - Alamofire 和 JSONAPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34972337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com