【发布时间】:2016-05-30 12:48:31
【问题描述】:
如何使用带有参数的 POST 请求来获取 JSON?我知道如何用一个简单的 GET 请求来做到这一点。请求url为http://gyminyapp.azurewebsites.net/api/Gym,参数查询为
{
"SearchCircle": {
"Center": {
"Latitude": 0,
"Longitude": 0
},
"Radius": 0
},
"City": "string",
"ZipCode": 0,
"Type": "string"
}
我只想使用其中的搜索圈部分,这意味着我可以忽略 City 和 ZipCode 字段。我需要提供从当前用户位置获取的纬度/经度。我还需要将类型设置为“半径”。
对于使用 GET 版本的简单 GET 请求,我会这样做。
let url = NSURL(string: "http://gyminyapp.azurewebsites.net/api/Gym")
let data = NSData(contentsOfURL: url!)
do {
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)
for gym in json as! [AnyObject] {
gyms.append(gym)
}
} catch {
print("Error")
}
【问题讨论】:
-
如果它与 GET 一起使用,为什么要使用 POST?此外,如果您要检索数据,GET 是更合适的动词。
-
在我的 API 中,GET 为我提供了数据库中的所有位置。这篇文章让我可以根据某些标准缩小结果范围。
标签: json swift http-post nsurlsession nsurlrequest