Как конвертировать ответ от 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 $

Подскажите, в какую сторону смотреть и что нужно почитать, чтобы решить эту задачу. Спасибо.


Ответы (0 шт):