相关疑难解决方法(0)

在Retrofit中一起使用@Field和@Body参数

我正在使用Retrofit将一些数据发送到我的后端.我需要发送3个字符串和一个自定义的Place对象.这是我在做的事情:

@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);
Run Code Online (Sandbox Code Playgroud)

有了这个,我收到这个错误:

@Field parameters can only be used with form encoding.
Run Code Online (Sandbox Code Playgroud)

当我使用时@FormUrlEncoded,像这样:

@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);
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

@FormUrlEncoded or @Multipart can not be used with @Body parameter.
Run Code Online (Sandbox Code Playgroud)

我如何使其工作?

android retrofit

6
推荐指数
1
解决办法
6693
查看次数

标签 统计

android ×1

retrofit ×1