Параметры @Body нельзя использовать с кодированием формы или нескольких частей - PullRequest
0 голосов
/ 13 января 2020

Я делаю почтовый запрос на сервер, где мне нужно отправить отчет, содержащий два поля, но у меня возникает ошибка с 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. Чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...