我试图从我的mongodb数据库中获取mLab服务中的数据。我可以从浏览器成功发出请求,并使用下面的代码获取数据。
https://api.mlab.com/api/1/databases/mysignal/collections/Ctemp?q={"member_id":2}&apiKey=2ABdhQTy1GAWiwfvsKfJyeZVfrHeloQI
我需要改变" member_id"到\" member_id \"不要得到sytax错误。其余的是相同的。但是,它并没有在iOS中的Swift中使用Alamofire获取任何内容。 (我也尝试过没有alamofire,通常的http请求,但仍然没有工作)
如果我在没有{"member_id":2}
的情况下尝试它就可以了。
我正在使用以下代码进行提取(不工作);
Alamofire.request("https://api.mlab.com/api/1/databases/mysignal/collections/Ctemp?q={\"member_id\":2}&apiKey=2ABdhQTy1GAWiwfvsKfJyeZVfrHeloQI")
我也尝试添加参数
let parameters: Parameters = ["member_id": "3"]
Alamofire.request("https://api.mlab.com/api/1/databases/mysignal/collections/Ctemp?q={\"member_id\":3}&apiKey=2ABdhQTy1GAWiwfvsKfJyeZVfrHeloQI", parameters: parameters, encoding: URLEncoding(destination: .methodDependent))
这是api文件; http://docs.mlab.com/data-api/
谢谢
答案 0 :(得分:4)
您的请求应如下:
let parameters: Parameters = [
"q": ["member_id": 2],
"apiKey": "2ABdhQTy1GAWiwfvsKfJyeZVfrHeloQI"
]
Alamofire.request("https://api.mlab.com/api/1/databases/mysignal/collections/Ctemp", method: .get, parameters: parameters, encoding: URLEncoding.default)
它更具可读性,您也可以轻松更改参数。
希望有所帮助