Как конвертировать ответ от Web-сервера с помощью Retrofit
Запрос к серверу выглядит так
@GET("GetCardInfo/{phoneNumber}")
Call<CardInfo> getCardInfo(
@Header("Authorization") String auth,
@Path("phoneNumber") String phoneNumber
);
Класс CardInfo:
public class CardInfo {
private String phoneNumber;
private String secondName;
private String firstName;
private String middleName;
private String dateOfBirth;
private int bonusCount;
private int bonusAmount;
//геттеры и сеттеры
Обработка ответа сервера:
Call<String> call = mRetrofit.getCardInfo(auth, phoneNumber);
call.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
if (!response.isSuccessful()){
Log.e(TAG, "onResponse: " + response.errorBody() );
return;
}
String cardInfo = response.body().toString();
Log.d(TAG, "onResponse: " + cardInfo);
}
@Override
public void onFailure(Call<String> call, Throwable t) {
Log.e(TAG, "onFailure: " + t.getMessage() );
}
});
От web-сервера приходит ответ вида:
81234567890;Иванов;Иван;Иванович;01.01.2020 0:00:00;;1000;1000
Т.е. это не gson-ответ, а просто строка, поэтому при попытке распарсить её при помощи GsonConverterFactory я получаю
onFailure: Expected BEGIN_OBJECT but was NUMBER at line 1
А если в Call поменять CardInfo на String, получаю ошибку:
onFailure: Unexpected value at line 1 column 13 path $
Подскажите, в какую сторону смотреть и что нужно почитать, чтобы решить эту задачу. Спасибо.