Я делаю почтовый запрос на сервер, где мне нужно отправить отчет, содержащий два поля, но у меня возникает ошибка с Retrofit 2: параметры @Body нельзя использовать с кодированием формы или нескольких частей. Вот что у меня есть :
@POST("make-report")
@FormUrlEncoded
@Headers("Content-Type: application/json")
Call<MakeReport> getReport(@Body MakeReport report,
@Header("Authorization") String authorization);
моя модель:
private String subjekt;
private String mesazh;
public MakeReport(String subjekt, String mesazh) {
this.subjekt = subjekt;
this.mesazh = mesazh;
}
public String getSubjekt() {
return subjekt;
}
public void setSubjekt(String subjekt) {
this.subjekt = subjekt;
}
public String getMesazh() {
return mesazh;
}
public void setMesazh(String mesazh) {
this.mesazh = mesazh;
}
}
the retriever
public void getReport(Callback<MakeReport> callback, @Body MakeReport report, String authorization) {
Call<MakeReport> call = service.getReport(report, authorization);
call.enqueue(callback);
}
и в моей деятельности: попытался удалить @FormUrlEncode, но я столкнулся с другой ошибкой: используйте jsonreader.setlenient (true), чтобы принять искаженный json. Чего мне не хватает?