Я работаю со службой REST на Android с Retrofit lib.Я отправляю запрос, и в ответ должна быть включена эта модель:
public class User implements Parcelable, Cloneable{
@SerializedName("user_id")
@Expose
private String user_id;
@SerializedName("full_name")
@Expose
private String full_name;
@SerializedName("email_address")
@Expose
private String email_address;
@SerializedName("end_date")
@Expose
private Timestamp end_date;
}
Я использую следующие библиотеки:
- реализация 'com.squareup.retrofit2: retrofit: 2.1.0 '
- реализация' com.squareup.retrofit2: converter-gson: 2.1.0 '
- реализация' com.squareup.okhttp: okhttp: 2.4.0 '
Я отправляю запрос следующим образом:
response.enqueue(new Callback<UserResponse>() {
@Override
public void onResponse(Call<UserResponse> call, Response<UserResponse> response) {
if(response.body().status.equals("success")) {
UserResponse respojo = response.body();
User loginUser = respojo.user;
Bundle bundle = new Bundle();
bundle.putParcelable("user",loginUser);
listener.onFragmentChange(FragmentController.HOME,bundle);
} else {
Toast.makeText(getContext(),response.body().reason,Toast.LENGTH_LONG).show();
}
}
Но я получаю следующую ошибку.
W / System.err: com.google.gson.JsonSyntaxException:1546300800 W / System.err: at com.google.gson.DefaultDateTypeAdapter.deserializeToDate (DefaultDateTypeAdapter.java:106) Причина: java.text.ParseException: не удалось проанализировать дату ["1546300800 ']: неверный индикатор часового пояса' 0(со смещением 0) на com.google.gson.internal.bind.util.ISO8601Utils.parse (ISO8601Utils.java:274) на com.google.gson.DefaultDateTypeAdapter.deserializeToDate (DefaultDateTypeAdapter.java:104) W / System.err: ... еще 17 причин: java.lang.IndexOutOfBoundsException: неверный часовой поясиндикатор '0' на com.google.gson.internal.bind.util.ISO8601Utils.parse (ISO8601Utils.java:245) ... еще 18
Как решить эту проблему?