当我在body(x-www-form-urlencoded)中发布数据时,它在Postman中工作正常。但是使用Retrofit 2.0 Android它不起作用。
@Headers("Content-Type: application/x-www-form-urlencoded")
@POST("/api/jsonws/pushUserData")
Call<ResponseBody> pushData(@Body JSONObject jsonObj);
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("role","owner");
jsonObject.put("id","27001");
} catch (JSONException e) {
e.printStackTrace();
}
ApiInterface apiInterface1= ApiClient.getClientAuthentication().create(ApiInterface.class);
Call<ResponseBody> responseBodyCall = apiInterface1.pushData(jsonObject);
此代码不起作用。我也尝试@FormUrlEncoded。
答案 0 :(得分:5)
尝试使用@FormUrlEncoded
并使用@Field
代替@Body
@FormUrlEncoded
@POST("/api/jsonws/pushUserData")
Call<ResponseBody> pushData(@Field("role") String role, @Field("id") String id);
ApiInterface apiInterface1= ApiClient.getClientAuthentication().create(ApiInterface.class);
Call<ResponseBody> responseBodyCall = apiInterface1.pushData("owner","27001");