我知道使用multipart进行简单文本身份验证是不明智的。但我需要将其与提供给我的api一起使用。我尝试了所有可能的方法。
与邮递员配合良好但不进行改造2
使用的代码尝试过
//RequestBody requestNameRq = RequestBody.create(MediaType.parse("text/plain"),serviceNameValue);
//RequestBody requestAmountRq = RequestBody.create(MediaType.parse("text/plain"),serviceAmountValue.toString());
/* Create Request Body */
//MultipartBody.Builder builder = new MultipartBody.Builder().setType(MultipartBody.FORM)
// .addFormDataPart("service",serviceNameValue)
// .addFormDataPart("amount", String.valueOf(serviceAmountValue));
//RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM)
// .addFormDataPart("service",serviceNameValue)
// .addFormDataPart("amount",serviceAmountValue.toString()).build();
//MultipartBody.Part multipartRequestBody = MultipartBody.Part
// .createFormData("service",serviceNameValue)
// .createFormData("amount",serviceAmountValue.toString());
//MultipartBody multipartBody = builder.build();
Apiservice的代码
@POST("services")
Call<AddServiceResponse> addService(@Header("Authorization") String authToken,
//@Body MultipartBody body);
@Part("service") RequestBody service,
@Part("amount") RequestBody amount);
//@Part("service") String service,
//@Part("amount") String password);
//@Part("service") RequestBody service,
//@Part("amount") RequestBody amount);
}
请尝试添加
@Multipart
之前
@POST("services")
修改您的ApiService类
@Multipart
@POST("services")
Call<AddServiceResponse> addService(
@Header("Authorization") String authToken,
@Part("service") MultipartBody.Part service,
@Part("amount") MultipartBody.Part amount);
然后创建MultipartBody
MultipartBody.Part serviceBody = MultipartBody.Part.createFormData("service", "Somethin2");
MultipartBody.Part amountBody = MultipartBody.Part.createFormData("amount", "2344");
然后打电话
apiService.addService(serviceBody, amountBody);