亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用@Body 改造 POST 請求返回空響應主體

使用@Body 改造 POST 請求返回空響應主體

侃侃無極 2022-11-30 16:07:02
我正在嘗試使用這樣的端點將數據發送到服務器:https://api.test.com/sales/taken?key=1a2b3c&sales_number=abc&taken[0][id_product]=123&taken[0][qty]=123&taken[1][id_product]=123&taken[1][qty]=123根據Android Retrofit POST ArrayList,發送列表的最佳方法是使用@Body而不是@Field. 所以我做了一個模型來適應這樣的終點:public class Model {    @SerializedName("key")    private String key;    @SerializedName("sales_number")    private String sales_number;    @SerializedName("taken")    private List<Taken> taken;    public String getKey() {        return key;    }    public void setKey(String key) {        this.key = key;    }    public String getSales_number() {        return sales_number;    }    public void setSales_number(String sales_number) {        this.sales_number = sales_number;    }    public List<NotaAmbilDetailModel> getTaken() {        return taken;    }    public void setTaken(List<NotaAmbilDetailModel> taken) {        this.taken = taken;    }}
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

您的 api 請求需要查詢參數而不是請求正文。


像這樣嘗試


要求


@POST("/sales/taken")

Call<ResponseModel> sendData(@QueryMap Map<String, String> queryMap);

api參數


Map<String, String> queryMap = new HashMap<>();

queryMap.put("key", "value_for_key");

queryMap.put("sales_number", "value_for_sales_number");

queryMap.put("taken[0][id_product]", "value_for_taken[0][id_product]");

queryMap.put("taken[0][qty]", "value_for_taken[0][qty]");

queryMap.put("taken[1][id_product]", "value_for_taken[1][id_product]");

queryMap.put("taken[1][qty]", "value_for_taken[1][qty]");

....


查看完整回答
反對 回復 2022-11-30
  • 1 回答
  • 0 關注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號