#java #android #json #postman #retrofit
#java #Android #json #почтальон #модернизация
Вопрос:
У меня проблема с модернизацией.
Когда я делаю вызов моего REST API, каждый раз response.body()
, когда он не выполняется успешно и имеет значение null
Я попытался сделать тот же звонок с Почтальоном, и тело содержит правильный ответ.
Тело ответа JSON:
{
"error": false,
"message": "API-Request successful",
"users": {
"0": {
"userID": 11,
"firstName": "David",
"userName": "david",
"birthDate": "2020-10-19",
"gender": 1,
"country": "Linz",
"aboutmeText": "Testeintrag 3",
"status": "I like Lookly."
},
"1": {
"userID": 43,
"firstName": "Sarah",
"userName": "sarahh",
"birthDate": "2001-12-14",
"gender": 0,
"country": "Austria",
"aboutmeText": "Lookly ist eine hervorragende App!",
"status": "Hey there! I am using Lookly."
}
}
}
Мой запрос: response.body()
не выполнен успешно и равен нулю
public void updateListView(String latitude, String longitude) {
Call<ResponseBody> call = RetrofitClient
.getInstance()
.getApi()
.standard(
latitude,
longitude
);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if(response.isSuccessful()) {
//the response-body is already parseable to your ResponseBody object
ResponseBody responseBody = (ResponseBody) response.body();
//you can do whatever with the response body now...
String responseBodyString= null;
try {
responseBodyString = responseBody.string();
} catch (IOException e) {
e.printStackTrace();
}
Log.d("Response body", responseBodyString);
}
else {
Log.d("Response errorBody", String.valueOf(response.errorBody()));
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.e("onFalure", t.getMessage());
Toast.makeText(TestRequest.this, t.getMessage(), Toast.LENGTH_LONG).show();
}
});
}
Успешный ответ Postman:
Комментарии:
1. Не могли бы вы опубликовать то, что вы пробовали до сих пор?
2. если response.successful равно false, то ваша реализация api неверна
3. Однако в postman я получаю успешный ответ?
4. вы также можете получить код запроса OkHttp для этого API от postman