我正在尝试在Retrofit中发布ArrayList和String值。如何在同一帖子中发送它们? 我已经尝试过了,但是没有用。 谢谢。
Etiket_post.java
@POST("/api/r_etiket")
Call<Result> post_etiket(@Body List< EtiketItem_List> items, @Body String FileNo);
Print_Screen.java
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("myURL")
.addConverterFactory(GsonConverterFactory.create())
.build();
Etiket_Post etiket_post = retrofit.create(Etiket_Post.class);
String FileNo = FileId;
ArrayList<EtiketItem_List> items = new ArrayList<>();
for (int e = 0; e < okutulan_list.size(); e++) {
items.add(new EtiketItem_List(
okutulan_list.get(e).STOK_KODU,
okutulan_list.get(e).STOK_ADI,
okutulan_list.get(e).OlcuBrim,
okutulan_list.get(e).STHAR_GCMIK));
}
Call<Result> call = etiket_post.post_etiket(items, FileNo);
call.enqueue(new Callback<Result>() {
@Override
public void onResponse(Call<Result> call, Response<Result> response) {
Toast.makeText(Print_Screen.this, response.body().result, Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(Call<Result> call, Throwable t) {
Toast.makeText(Print_Screen.this, t.getLocalizedMessage(), Toast.LENGTH_LONG).show();
}
});
答案 0 :(得分:0)
您可以像这样使用Retrofit2以原始格式发送数据。
{
"String1" :"anyString",
"arrayList":[
{
"A":"Appple",
"B":"ball"
}
]
}
modelClass示例
@SerializedName("user_id")
@Expose
private String user_id;
@SerializedName("product")
@Expose
List<OneProductModel> oneProductModels;
public CartPost(String user_id, List<OneProductModel> oneProductModels) {
this.user_id = user_id;
this.oneProductModels = oneProductModels;
}
@POST("/api/r_etiket")
Call<Result> post_etiket(@Body modelClass);