改造不同的调用和响应 json 主体

Retrofit different call and response json bodies

如何使用不同类型的调用和响应主体对 PUT 进行改造? 我有一个错误的限制。类型必须相同 <T> and <T>。 Responce bodie可以包含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;
}