我正在尝试使用改装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次尝试,都给了我一个空的回应。我觉得一切都是对的。 –