#java #android #retrofit
#java #Android #модернизация
Вопрос:
у меня проблема с отправкой тела, подобного:
{
"items": [
"one",
"two"
],
"repositiories": [
{
"repo1": "aaaa",
"repo2": "bbbb",
"repo3": "2020-12-09T11:00:00"
}
],
"deviceName": "AndroidPhone"
}
использование модернизации.
Я просто создаю два класса, используя pojoSchema, и выполнил функцию для отправки данных:
public sentItems(List<String> items, List<Position> repositories, String deviceName) {
this.items= items;
this.repositories= repositories;
this.deviceName= deviceName;
}
Также я обновил свой интерфейс api следующим кодом:
@POST("/api/postItems/")
Call<SentItemsAndRepos> sentItemsAndRepos(@Body SentItemsAndRepos SentItemsAndRepos);
И всегда, когда я пытаюсь отправить, например, статические значения, я получаю сообщение об ошибке:
onFailure: End of input at line 1 column 1 path $
Просто не имею ни малейшего представления, как его разбить .. я застрял в этом случае..
Возможно, я отправляю неправильные данные, но я не уверен…
Вот мой пример для отправки:
List<String> items = new ArrayList<>();
items.add("one");
items.add("two");
Repositories firstRepo = new repositories("aaaa","bbbb",Calendar.getInstance().getTime());
List<Repositories> repositories = new ArrayList<repositories>();
repositories.add(firstRepo);
String deviceName = "AndroidPhone"
postItemsFunc(items,repositories,deviceName);
private void postItemsFunc(List<String> items, List<Position> repositories, String deviceName){
SentItemsAndRepos sentItemsAndRepos= new SentItemsAndRepos(items,repositories,deviceName);
Call<SentItemsAndRepos> call = ApiLoginInterface.sentItemsAndRepos(sentItemsAndRepos);
call.enqueue(new Callback<SentItemsAndRepos>() {
Это все, что, я думаю, вы хотите помочь, ofc, если вы хотите помочь .. 🙂
Я буду очень признателен, если вы потратите время, чтобы помочь мне…
Ответ №1:
Я реализую некоторый исходный код из своего репозитория git
public void fetchContact(String type, String key){
apiInterface = ApiClient.getApiClient().create(ApiInterface.class);
Call<List<Contact>> call = apiInterface.getContact(type, key);
call.enqueue(new Callback<List<Contact>>() {
@Override
public void onResponse(Call<List<Contact>> call, Response<List<Contact>> response) {
progressBar.setVisibility(View.GONE);
contacts = response.body();
adapter = new Adapter(contacts, MainActivity.this);
recyclerView.setAdapter(adapter);
// adapter.notifyDataSetChanged();
}
@Override
public void onFailure(Call<List<Contact>> call, Throwable t) {
progressBar.setVisibility(View.GONE);
Toast.makeText(MainActivity.this, "Errorn" t.toString(), Toast.LENGTH_LONG).show();
}
});
}
Перейдите по следующей ссылке, чтобы легко понять это
https://github.com/Istiakshovon/RetrofitRecyclerView/blob/master/app/src/main/java/com/istiak/getdatabyretrofit/MainActivity.java
Комментарии:
1. Здравствуйте, я думаю, что это близко к моей проблеме, но ваше решение не решает эту проблему..
2. @3milBow Ой! Извините. Я не прочитал весь ваш вопрос. У вас возникла проблема
onFailure: End of input at line 1 column 1 path $
для меня, это показывает ошибку, когда у вас возникла проблема вphp(server file)
So, можете ли вы реализоватьserver
скрипт?3. Я думаю, что я не понимаю вашего вопроса: P Этот код взят из Android Studio, а вовсе не из веб-сервисов.