我的项目中遇到一个问题: 这是我的网址
www.someapi.com/product/filter?range[column]=price&range[value][lte]=7000&range[value][gte]=1000&offset=10&limit=10&lang=en
如您所见,有 GET
方法参数
但是我使用了POST
方法,所以帖子正文是
{"category_id":4017,"filter":[{"filter_id":"214","value_ids":["7632","6433"]}],"type":"2"}
那么 Alamofire 中是否可以组合 get 和 post 参数?我在他们的github上寻找答案,但没有任何结果。
最佳答案
是的,您可以将查询字符串参数与 POST
正文混合使用。
另请注意,查询参数不是 GET
特定的。只要您的 API 能够处理它,它就会起作用。
这不是 Alamofire 问题,而是与您的 API 设计有关
- 如果 API 不支持
POST
方法,那么您无法发送有效负载。 - 如果 API 不处理查询字符串参数,它们将无法工作。
基本上,您的 API 应该设计为处理查询字符串参数并支持 POST
方法,以便两者都能正常工作。
使用示例:
let strURL = "www.someapi.com/product/filter?range[column]=price&range[value][lte]=7000&range[value][gte]=1000&offset=10&limit=10&lang=en"
let payload: [String:Any] = ["category_id":4017,
"filter":[["filter_id":"214",
"value_ids":["7632",
"6433"]]],
"type":"2"]
Alamofire.request(strURL,
method: .post,
parameters: payload,
encoding: JSONEncoding.default,
headers: nil)
关于ios - Alamofire 请求中的 Post 和 Get 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50286603/