这是我的Retrofit API接口
Vec
当我使用这个
@FormUrlEncoded
@POST(/test.php)
Call<List<RetrofitModel>> function1(
@Field("type")String type,
@Field("name")String name,
@Field("sex")String sex);
问题是,即使我知道“ type1”将在那里,但每次都必须在type字段上放置相同的值(“ type1”)。
是否可以使用这样的默认字段进行POST?
mRetrofitAPI.function1("type1","toco","female").enqueue(new Callback<List<RetrofitModel>>() {
@Override
public void onResponse(@NonNull Call<List<RetrofitModel>> call, @NonNull Response<List<RetrofitModel>> response) { }
@Override
public void onFailure(@NonNull Call<List<RetrofitModel>> call, @NonNull Throwable t) { }
});
或
@FormUrlEncoded
@POST(/test.php)
Call<List<RetrofitModel>> function1(
@Field("type")String "type1",
@Field("name")String name,
@Field("sex")String sex);
为
@POST
@DefaultField("type" = "type1")
Call<List<RetrofitModel>> function1(@Field("anotherParams")String anotherParams)
答案 0 :(得分:0)
您不能在响应中使用列表
使用其他这样的模型:
public class RetrofitModelResponse {
private List<RetrofitModel> retrofitModelList;
public List<RetrofitModel> getRetrofitModelList() {
return retrofitModelList;
}
public void setRetrofitModelList(List<RetrofitModel> retrofitModelList) {
this.retrofitModelList = retrofitModelList;
}
}
将其用作RetrofitResponse模型