java - 改造不同的调用和响应 json 体
问题描述
如何使用不同类型的调用和响应主体对 PUT 进行改造?我有错误的限制。类型必须相同<T> and <T>
。响应体可以包含 int 值,但 call 不应该,因为当我用 int 值初始化 CallBody 对象时,它已经包含 n1=0,并将此参数发送到服务器。
@PUT("/api/test")
Call<CallBody> test1(@Body CallBody params_body);
public class CallBody {
public String id;
}
public class ResponceBody {
public String s1;
public int n1;
}
public void Test(String id) {
CallBody params_body = new CallBody();
params_body.id = id;
Call<CallBody> call1 = apiInterface.test1(params_body);
call1.enqueue(new Callback<CallBody>() {
@Override
public void onResponse(Call<CallBody> call, Response<ResponceBody> response) {
ResponceBody response = response.body();
}
@Override
public void onFailure(Call<CallBody> call, Throwable t) {
call.cancel();
}
});
}
解决方案
尝试,
public class ResponceBody {
public String s1;
public Integer n1;
}
推荐阅读
- c# - 确定开发旧 C# 项目的 Visual Studio 版本
- javascript - jQuery:ajax请求后页面意外重新加载
- asp.net-core - Asp.Net Core & JWT 身份验证:如何知道身份验证失败,因为令牌过期?
- javascript - 在反应组件类中看不到 props 属性
- javascript - 如何在 JS 中更改基于源视频的查询字符串
- c++ - -mmacosx-version-min 影响位域的打包行为?
- stata - 如何使用 forval 循环并考虑一个异常?
- apache-kafka-streams - Kafka 流使用从 dsl api 中调用的处理器转发的上下文
- ruby - 使用 Audited Gem 创建对象的草稿版本
- tsql - 匹配 WHERE 子句中的所有(不是 ANY)值