Retrofit
中有什么简单的方法可以自动将传递的对象转换为 JSON
吗?
这是我的 Retrofit 界面:
@FormUrlEncoded
@POST("/places/name")
void getPlacesByName(@Field("name") String name,
@Field("city") String city,
@Field("tags") Tags tags,
Callback<PlaceResponse> callback);
起初我以为如果我传递 Tags
对象它会自动转换为 JSON
,但实际上请求看起来像这样:
name=pubs&city=London&tags=com.app.database.model.Tags%4052aa38a8
在Retrofit
中有什么简单的方法可以将POJO
转换成JSON
吗?
最佳答案
您正在创建带参数的 URL,因为您正在使用 @URLEncoded
并将参数作为 @Field
传递。
解决方法如下:
@POST("/places/name")
void getPlacesByName(@Body RequestObject req, Callback<PlaceResponse> callback);
此外,我建议使用 @GET
来检索对象。 @POST
用于创建对象,@PUT
用于更新。虽然这并没有错,但建议它符合 RESTful
标准。
关于android - 在 Android 中将 POJO 转换为 JSON Retrofit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30578034/