web-dev-qa-db-ja.com

Android Retrofit:application / x-www-form-urlencodedとしてのコンテンツタイプ

かなり新しいAndroid開発。レトロフィットを使用して投稿リクエストを送信しようとしています。レトロフィットログでは、

Content-Type: text/plain; charset=utf-8

コンテンツタイプを使用する場合にのみ、リクエストが機能することがわかりました。

application/x-www-form-urlencoded

Googleを検索しましたが、コンテンツタイプを明示的に設定する明確な方法を見つけていません。誰もがそれを行う方法を知っていますか?

41
kinezu

サービスを定義するクラスで、次のパターンに従うように関連メソッドを変更します。

@FormUrlEncoded
@POST/GET/PUT/DELETE("/your_endpoint")
Object yourMethodName(@Field("your_field") String yourField,...);
90
k3v1n4ud3

レトロフィット2では、少し異なります。

@FormUrlEncoded
@POST/GET/PUT/DELETE("/your_endpoint")
Call<Task> createTask (@Field("your_field") String title);