我正在嘗試使用改裝2進行POST請求。請求類型爲form-data
不是application/x-www-form-urlencoded
。僅使用表格數據進行改造2
我只發佈數據而不是請求中的文件,響應的形式是JSON。我試過@FormUrlEncoded, @Multipart
但它不起作用。
我曾嘗試以下請求
1.首先嚐試
@FormUrlEncoded
@POST("XXXX")
Call<PlanResponse> getPlanName(@Field(Constants.ACTION_ID) String actionId, @Field(Constants.OFFER_CODE) String offerCode);
2.第二次嘗試
@Headers({"Content-Type: multipart/form-data","Content-Type: text/plain"})
@FormUrlEncoded
@POST("XXXX")
Call<PlanResponse> getPlans(@Body @FieldMap(encoded = false) Map<String, String> data);
3.第三次嘗試
@Headers("Content-Type: multipart/form-data")
@Multipart
@POST("XXXX")
Call<PlanResponse> myPlans(@Part(Constants.ACTION_ID) String actionId, @Part(Constants.OFFER_CODE) String offerCode);
我只得到身體爲null。它正在與POSTMAN合作。
我也搜索關於form-data
和application/x-www-form-urlencoded
後發現,如果數據是二進制的,然後使用form-data
,如果數據是ASCII然後使用application/x-www-form-urlencoded
我試圖找到是形式的數據不被改造支持?
郵差要求
Cache-Control: no-cache
Postman-Token: XXXXXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXXXXX
Content-Type: multipart/form-data; boundary=---- WebKitFormBoundaryXXXXXXXXXXXX
----WebKitFormBoundaryXXXXXXXXXXXX
Content-Disposition: form-data; name="actionId"
1000
----WebKitFormBoundaryXXXXXXXXXXXX
Content-Disposition: form-data; name="offerCode"
MYCODE
----WebKitFormBoundaryXXXXXXXXXXXX
我只能添加從郵差
'multipart/form-data'支持。通常僅在請求有效負載很大時才使用 - 例如文件上傳的情況就是如此。 – gldraphael
你的後端怎麼不能處理urlencoded的東西? – njzk2
@gldraphael那麼我在這裏想念什麼?我嘗試了3次嘗試,都給了我一個空的迴應。我覺得一切都是對的。 –