5
Retrofitを使用してバックエンドにデータをPOSTしています。私は3つのStringと1つのカスタムPlaceオブジェクトを送る必要があります。ここで私はやっているものです:私はこのような、@FormUrlEncoded
を使用する場合Retrofitで@Fieldと@Bodyパラメータを併用する
@Field parameters can only be used with form encoding.
そして:これにより
@POST("/post/addphoto/")
public void addImage(@Field("image_url") String url, @Field("caption") String caption, @Field("google_place_id") String placeId, @Body Place place, Callback<UploadCallBack> response);
、私はこのエラーを取得しています
@FormUrlEncoded
@POST("/post/addphoto/")
public void addImage(@Field("image_url") String url, @Field("caption") String caption, @Field("google_place_id") String placeId, @Body Place place, Callback<UploadCallBack> response);
私はこのエラーを取得します:
@FormUrlEncoded or @Multipart can not be used with @Body parameter.
どうすればそれを機能させることができますか?
Tiwariさん、あなたはIMAGE_URLをしたい場合、私は知っているかもしれません/ post/addphoto urlに追加するには? – cgr
@cgrいいえ、私はそれを付け加えたくありません。実際には、image_urlはバックエンドに他のフィールドと一緒に保存したい、Facebookの画像のURLです。 Placeオブジェクトは、その画像に関連付けられている位置情報をfacebookから抽出したものです。 –
私が知る限り、要求にデータを保持する場所が1つしかない場合は、RAW(本体)またはForm-shaped(FormUrlEncoded + Part)のいずれかになりますので、ここではそうです1つの場所に2つのデータ構造を混在させようとしていますが、これはできません – Yazan