@Drew20
Недопрограммист Android))

Где может быть ошибка в put запросе?

У меня в приложении у пытаюсь обновить access token используя refresh_token. Вот в документации у меня прописан удачный ответ сервера при правильном запросе:
HTTP 200
{
    "expires_in": UNIX_TIMESTAMP,
    "access_token": str,
    "refresh_token": str
}

я создал в интерфейсу запрос:
@Headers("Content-type: application/json")
Call<GetToken> getNewToken (@Path("refresh_token") String refresh_token);

дальше у меня строится запрос в самом классе:
public void updateToken() {
        HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
        interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
        OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();

        tok_pref2 = Objects.requireNonNull(getActivity()).getSharedPreferences(REFRESH_TOKEN,Context.MODE_PRIVATE);
        String token = tok_pref2.getString(REFRESH_TOKEN,"");

        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("https://сервер/")
                .client(client)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        APIService mAPIService2 = retrofit.create(APIService.class);

        mAPIService2.getNewToken(token).enqueue(new Callback<GetToken>() {
            @Override
            public void onResponse(@NonNull Call<GetToken> call,@NonNull Response<GetToken> response) {

            }

            @Override
            public void onFailure(@NonNull Call<GetToken> call,@NonNull Throwable t) {
                Toast.makeText(getContext(),"Failure!!!",LENGTH_LONG).show();
            }
        });

    }


в тело запроса я вставляю рефреш токен который я предварительно сохранил в sharedpreferences, я проверил что при запросе он вставляется нормально, но почему-то у меня приходит такой ответ:
<-- 404 https://сервер/v1/токен (210ms)
   
    Content-Length: 41
    P3P: policyref="/w3c/p3p.xml", CP="NOI ADM DEV COM NAV OUR STP"
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    Content-Type: application/json
08-14 03:04:54.257 3345-3394/com.example.developer_4.test_login D/OkHttp: {"message": "not_found", "error_code": 5}
    <-- END HTTP (41-byte body)


может я где-то допустил ошибку при отправке запроса, буду очень благодарен за помощь.
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
KuSu
@KuSu
Android разработчик
Ты уверен, что токен надо в урле отправлять? 404, оно не видет такого урла. Я подозреваю в этом дело.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы