Добавление заголовка в запрос на модернизацию звонка - PullRequest
0 голосов
/ 18 марта 2020

Я работаю над приложением Android, которое подключено к VPN.

Я отправляю запрос на модификацию в остальные API:

private void login_Request(){


        Log.d("ESTOY EN LOGIN REQUEST","ESTOY EN LOGIN REQUEST");
        LoginRequest loginRequest = new LoginRequest("HALEJANDRO","ALEJANDR0123","password","19.3509","-99.1566");

        Call <LoginRequest> call = jsonPlaceHolderApi.createLoginReques(loginRequest);
        call.enqueue(new Callback<LoginRequest>() {
            @Override
            public void onResponse(Call<LoginRequest> call, Response<LoginRequest> response) {


                Log.d("ESTOY EN LOGIN REQUEST","ESTOY EN LOGIN REQUEST rsponse "+response);


                if (!response.isSuccessful()) {
                    textViewResult.setText("Code: " + response.code());
                    return;
                }

                List<Login> login = (List<Login>) response.body();

                for (Login loginResponse : login ){
                    String content = "";
                    content += "Access Token: " + loginResponse.getAccess_topken() + "\n";
                    content += "Token Type: " + loginResponse.getToken_type() + "\n";


                    textViewResult.append(content);

                }

            }

            @Override
            public void onFailure(Call<LoginRequest> call, Throwable t) {

            }
        });
    }

Теперь мне нужно добавить заголовок к запросу.

Заголовок должен быть следующим:

Content-Type=application/x-www-form-urlencoded

Я искал способ добавить заголовок к запросу, но у меня нет решение, которое может быть реализовано в моем случае.

РЕДАКТИРОВАТЬ

Это интерфейс:

import java .util.List;

import retrofit2 .Вызов; импорт retrofit2.http.Body; импорт retrofit2.http.GET; импорт retrofit2.http.Headers; import retrofit2.http.POST;

public interface JsonPlaceHolderApi {

    @GET("posts")
    Call<List<Post>> getPosts();

    @POST("token")
    @Headers("Content-Type:application/x-www-form-urlencoded")
    Call <LoginRequest>createLoginRequest(@Body LoginRequest loginRequest);
}

РЕДАКТИРОВАТЬ ПОСЛЕДОВАТЕЛЬСКИЙ ЗАПРОС

Часть 1

enter image description here

Часть 2

enter image description here

Часть 3

enter image description here

1 Ответ

1 голос
/ 18 марта 2020

Вы можете записать любое значение заголовка следующим образом

@POST("auth")
@Headers("Any value")
fun createLoginRequest(@Body credentials: Credentials): Observable<Response<User>>

Для получения дополнительной информации см. эту ссылку

В вашем случае запрос x- www-form-urlencoded должен быть обрабатывается как в этом примере:

public interface TaskService {  
    @FormUrlEncoded
    @POST("tasks")
    Call<Task> createTask(@Field("title") String title);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...