Как запросить API с пользовательским вводом, используя модернизацию и MVVM? - PullRequest
1 голос
/ 23 марта 2020

Я пытаюсь запросить API https://jsonplaceholder.typicode.com/posts с помощью пользовательского ввода. Прямо сейчас я использую жестко закодированный текст для запроса, потому что я не могу понять, как динамически запрашивать его. У меня есть действие с EditText для ввода и второе действие, где отображается ответ API. Как я могу дать пользовательский ввод для следующего действия?

Мой интерфейс

public interface PostsApi {
    @GET("posts")       
    Call<List<Posts>> getPosts(@Query("id") int id, @Query("title") String title);

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

public Call<List<Posts>> getPosts(){
        return postsApi.getPosts(2, "qui est esse");  //this should use the user input
    }

1 Ответ

0 голосов
/ 23 марта 2020

Если я хорошо понимаю ваш вопрос. Вы хотели бы получить сообщение specfi c с идентификатором, используя параметр запроса при модернизации. Например, если вы хотите сделать вызов дооснащения следующим образом:

https://jsonplaceholder.typicode.com/posts/1

Итак, вам нужно отредактировать конечную точку с

@GET("posts")       
Call<List<Posts>> getPosts(@Query("id") int id, @Query("title") String title);

, чтобы стать

@GET("posts/{id}")       
Call<List<Posts>> getPosts(@Query("id") int id, @Query("title") String title);

В этом типе запроса вы можете передать свой идентификатор своей функции. Примечание: у меня нет API-интерфейса, я просто угадываю параметр запроса id. Но в любом случае, заголовок будет таким же.

Если вы обнаружили какую-либо проблему, пожалуйста, ответьте.

Удачное кодирование ?

...