我需要向服务器发送请求并获得响应。IOS。屏蔽网址中的符号
我有以下网址:
http://192.168.200.10:9044/api/tables/?filter= { “open_visible”:真实的, “相关”:假}
对于我使用Alamofire查询。这里有一些方法我如何做到这一点:
1)
class func getTables(completion: @escaping (_ response : DataResponse<TablesResponse>) -> Void) {
SVProgressHUD.show()
let getTablesPath = apiEntryPoint + "tables/?filter={\"open_visible\":true,\"related\":false}"
Alamofire.request(getTablesPath)
.validate()
.responseObject { (response: DataResponse<TablesResponse>) in
SVProgressHUD.dismiss()
completion(response)
}
}
我得到的错误:screenshot
2)
class func getTables(completion: @escaping (_ response : DataResponse<TablesResponse>) -> Void) {
SVProgressHUD.show()
let getTablesPath = apiEntryPoint + "tables/?filter={%22open_visible%22:true,%22related%22:false}"
Alamofire.request(getTablesPath)
.validate()
.responseObject { (response: DataResponse<TablesResponse>) in
SVProgressHUD.dismiss()
completion(response)
}
}
我得到的错误。
3)
class func getTables(completion: @escaping (_ response : DataResponse<TablesResponse>) -> Void) {
SVProgressHUD.show()
var getTablesPath = apiEntryPoint + "tables/?filter="
let jsonParameters = ["open_visible":true, "related":false]
if let json = try? JSONSerialization.data(withJSONObject: jsonParameters, options: []) {
if let content = String(data: json, encoding: .utf8) {
getTablesPath += content
}
}
Alamofire.request(getTablesPath)
.validate()
.responseObject { (response: DataResponse<TablesResponse>) in
SVProgressHUD.dismiss()
completion(response)
}
}
我得到的错误。
4)
class func getTables(completion: @escaping (_ response : DataResponse<TablesResponse>) -> Void) {
SVProgressHUD.show()
let getTablesPath = apiEntryPoint + "tables/"
Alamofire.request(getTablesPath, parameters: ["open_visible":true, "related":false])
.validate()
.responseObject { (response: DataResponse<TablesResponse>) in
SVProgressHUD.dismiss()
completion(response)
}
}
我得到了所有表。不考虑所需的参数。这不好。
问题
正如我可以发送请求的服务器,考虑到必要的参数。
点[2](https://i.stack.imgur.com/II7AH.png)和[3](https://i.stack.imgur.com/uAEUh.png)的错误截图。 – Belzik
'{'和'}'不是可以在URL中传递的字符。你需要检查你的API的文档是否符合'filter'的参数 –