Ответ на модификацию представляет собой html-код

avatar
amirhesni
8 апреля 2018 в 07:27
5503
1
2

Я работаю с модификацией 2 для подключения к веб-службе на Android Studio 3.0, и у меня есть подобный запрос

@POST("clip/clipmobile/action/clike/clipId/{id}/token/{token}/app/21")
Call<ResponseBody> likeRequest(
    @Path("id") String id,
    @Path("token") String token);

и инициализация моей модернизации:

 retrofitInterface = RetrofitClient.getClient(BASE_URL).create(RetrofitInterface.class);

и метод getClient():

    if (retrofit == null) {
        retrofit = new Retrofit.Builder()

                .baseUrl(baseUrl)
                .addConverterFactory(GsonConverterFactory.create(gson))
                .build();
    }
    return retrofit;

запрос на почтальона в порядке, но в android resposne.body().string() получает такой html-код

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fa" lang="fa" dir="ltr">
<head>
    <title>
        نشر دیجیتال :: default    </title>
    <meta name="samandehi" content="456331049" />
    <link rel="icon" href="http://ndigi.ir/images/File/nashr-hamrah-logo.ico" />

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!-- <meta http-equiv="Content-Language" content="{currLang}" /> -->
    <meta name="keywords" content="pear, php, framework, cms, content management" />
    <meta name="description" content="Coming soon to a webserver near you." />
    <meta name="rating" content="General" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="madeby" content="Made by Artimanstudio" />
        <meta name="robots" content="index,follow" />        <meta name="googlebot" content="index,follow" />    <!-- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -->

    <meta name="copyright" content="Copyright (c) 2008 نشر دیجیتال" />
    <meta name="robots" content="noodp,noydir" />
    <meta property="og:locale" content="fa_IR" />
    <meta property="og:title" content=" نان و نمک" />
    <meta property="og:description" content="" />
    <meta property="og:url" content="" />
    <meta property="og:site_name" content="نان و نمک" />
    <meta property="og:type" content="article" />
    <meta property="og:image" content="" />
Источник
Sachin
8 апреля 2018 в 07:28
0

да хорошо, тогда с какой проблемой вы столкнулись и что вы пытались для этого

amirhesni
8 апреля 2018 в 07:30
0

@Thunder, я ожидаю, что мне дадут json для его рендеринга

Sachin
8 апреля 2018 в 07:31
0

да, это из вашего бэкэнда, вам нужно проконсультироваться с членом вашей бэкэнд-команды, который пишет этот API, прямо сейчас этот API не возвращает ответ в виде JSON, поэтому вы не получаете

amirhesni
8 апреля 2018 в 07:33
0

@Thunder, но на почте, человек, он дал мне json-запросы, все еще из моего бэкэнда ???

Sachin
8 апреля 2018 в 07:44
1

хорошо, вы пропустили передачу application/json в заголовках

amirhesni
8 апреля 2018 в 07:54
0

@Thunder, спасибо, все работает.

Sachin
8 апреля 2018 в 08:26
0

хорошо добро пожаловать

Ответы (1)

avatar
mononz
8 апреля 2018 в 07:42
2

Возможно, вам потребуется добавить в запрос заголовок accept из application/json. почтальон обычно добавляет в заголовок accept:"*/*". Вы можете увидеть это, открыв «Показать консоль почтальона» в почтальоне, а затем выполнив запрос

.

т.е.

@POST("clip/clipmobile/action/clike/clipId/{id}/token/{token}/app/21")
Call<ResponseBody> likeRequest(
    @Header("accept") String type,
    @Path("id") String id,
    @Path("token") String token);

затем позвоните

likeRequest("application/json", id, token)