1
我使用翻新来调用REST服务。 REST服务返回一个JSON消息。 Java响应对象具有空字段值。使用'retrofit'库响应具有空字段
设置代码:
Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
.create();
RestAdapter restAdapter = new RestAdapter.Builder()
.setConverter(new GsonConverter(gson))
.setEndpoint(myEndpoint).build();
restAdapter.setLogLevel(LogLevel.FULL);
SomeService someService = restAdapter
.create(SomeService.class);
服务接口:
public interface SomeService {
@POST("/firstParam/{firstParam}/secondParam/{secondParam}")
MyResponse callService(@Path("firstParam") String firstParam,
@Path("secondParam") String secondParam, @Body MyRequest request);
}
的响应POJO的:
class MyResponse {
private String paramOne;
private String paramTwo;
private String action;
private String status;
//getters and setters
}
但是,当我打电话:
MyResponse response = someService.callService("one","two",request);
响应中的字段仍然为空。
我不得不使用自定义的JsonDeserializer来让它工作,但我认为这是标准的东西,它不应该需要JsonDeserializer。
你可以建议一种方法,使我无法使用JsonDeserializer吗?
它可能会更容易帮助你,如果我们能找到一些示例响应JSON ... –
@大卫。 mihola在此感谢{ “paramOne”:“456”, “paramTwo”:“123”, “action”:“actionOne”, “status”:“success” } – jakstack