Não parece que as solicitações GET estejam traduzindo os parâmetros da matriz corretamente.
let params: [String: AnyObject] = ["q": ["one", "two"], "target": "en"]
Alamofire.request(.GET, "https://www.googleapis.com/language/translate/v2", parameters: params)
gera a url:
q%5B%5D=um&q%5B%5D=dois&target=en
Acho que está tentando adicionar []'s para o caso POST. Mas no caso GET deve ser q=um&q=dois
Este é o comportamento pretendido. De acordo com o README.md,
Como não há especificação publicada sobre como codificar os tipos de coleção, a convenção de anexar [] à chave para valores de matriz (foo[]=1&foo[]=2) e anexar a chave entre colchetes para valores de dicionário aninhados ( foo[bar]=baz) [é usado].
Em vez de usar GET, você deve considerar usar POST ou PUT e passar valores via JSON, XML ou outro formato bem definido. Isso pode exigir alterações no lado do servidor, obviamente.
Se o lado do servidor estiver fora de seu controle, considere codificar manualmente esses parâmetros.
Sim, é o endpoint da API do Google, então está fora do meu controle. A API do google não gosta desse formato. Eu posso construí-lo manualmente, pensei em arquivá-lo para que vocês estejam cientes.
@JRG-Developer está correto - este é o comportamento pretendido. Use a codificação de parâmetro personalizado se precisar de algo além das opções fornecidas.