2017-09-08 18 views
0

私はこのarray = [1,2,3]をしたし、私はこのようにそれを送りたい:AlamofireでGETメソッドのカスタムパラメータを送信する方法は?

http://somedomain.com/today?intersets=1,2,3

私はこのようにそれを送信しようとしている:

let params: Parameters = [ "intersets": array]

Alamofire.request(url, method: .get, parameters: params ,headers: header)

が、 response.requestを印刷した後、私はこれを得ました:

http://somedomain.com/today?intersets%5B%5D=1&intersets%5B%5D=2intersets%5B%5D=3

このリクエストの修正方法はありますか?

+1

注意は、実際には、より正確です。 – luk2302

+0

@ luk2302ありがとうございました、あなたはこれがGETの方法だと言いました。それはPOSTでも変わりますか? –

+1

POST本体では、配列のネイティブサポートを持つjsonを主に送信するため、文字列の操作は必要ありません。以前私が言っていたことは、GETにパラメータを入れる唯一の場所である "URLパラメータの中"でした。 – luk2302

答えて

1

アレイをStringに参加させ、それをパラメータとして送信する必要があります。それはあなたがGET経由配列を送信する方法であるため、サーバが実際には配列を期待して、あなたの現在のアプローチを使用して、再度カンマを解析している*場合*

let string = array.joined(separator: ",") 
let params: Parameters = [ "intersets": string] 
+0

私はこの 'blahblahblah/today?intersets = 1%2C2%2C3'を取得しました。 %2Cを削除して'、 'に置き換える方法 –

+2

'、 'をパラメータとして直接送ることはできません。 **特殊文字を**エンコードする必要があります。 '%2C'は'、 'の符号化形式です。 – the4kman

関連する問題