LoginSignup
7
2

More than 5 years have passed since last update.

Alamofire4でExtra argument 'method' in call

Last updated at Posted at 2017-01-04

Swift3移行に伴い、Alamofireのバージョンもあげた際に表題のようなエラーが発生しました。

StackOverflowにあったものですが、今後Swift3でプロジェクトを作る際に忘れないようメモします。
やりたいことはJSONを返すAPIにURLhttp://example.com/?param1=1&param2=2でリクエストすることです。

Alamofire.request(self.baseUrl, method: .get, parameters: parameters, encoding: String.Encoding.utf8, headers: self.headers)
// ↓
Alamofire.request(self.baseUrl, method: .get, parameters: parameters, encoding: JSONEncoding.default, headers: self.headers)

encodingをJSONEncoding.defaultにすればコンパイルエラーは確かに解消されましたが、なんかうまくリクエストされていない気がする...。
と思ってprint(response.request.URL)すると、そこにはbaseUrlの内容のみが記載されていました。

解決

そもそもrequestメソッドにおけるencodingについて理解していませんでした。
URLパラメータのencodingの指定のようです。

Alamofire.request(self.baseUrl, parameters: parameters)

GETリクエストの場合はencodingとmethodはデフォルトで指定されているので、最終的にこれだけでOKみたいです。

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2