簡體   English   中英

在Alamofire請求中發布和獲取參數

[英]Post and Get parameters in Alamofire request

我的項目遇到一個問題:這是我的網址

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM