Retrofit, GET/POST-запросы, unable to decode base64 string

507
27 апреля 2018, 15:32

Интерфейс retrofit'а:

EventDateApi.class

@Multipart
@POST("user/update-profile")
Call<setAgeSex> setAgeSex(
          @Header("Authorization") String token,
          @Part("age") Integer age,
          @Part("sex") Integer sex
);
@Multipart
@PUT("event/create")
Call<Event> createEvent(
        @Header("Authorization") String token,
        @Part("category") String category,
        @Part("title") String title,
        @Part("longitude") String longitude,
        @Part("latitude") String latitude
        );

SetAgeSex.class:

public class setAgeSex {
private Integer age;
private Integer sex;
public Integer getAge() {
    return age;
}
public void setAge(Integer age) {
    this.age = age;
}
public Integer getSex() {
    return sex;
}
public void setSex(Integer sex) {
    this.sex = sex;
}
}

Event.class:

public class Event {

private String id;
private String categoryId;
private String creatorId;
private String title;
private String longitude;
private String latitude;
private String status;
private String participantAgeFrom;
private String participantAgeTo;
private String participantSex;

Event()
{
    this.id = null;
    this.categoryId = null;
    this.creatorId = null;
    this.title = null;
    this.longitude = null;
    this.latitude = null;
    this.status = null;
    this.participantSex = null;
    this.participantAgeTo = null;
    this.participantAgeFrom = null;
}

public String getId() {
    return id;
}
public void setId(String id) {
    this.id = id;
}
public String getCategoryId() {
    return categoryId;
}
public void setCategoryId(String categoryId) {
    this.categoryId = categoryId;
}
public String getCreatorId() {
    return creatorId;
}
public void setCreatorId(String creatorId) {
    this.creatorId = creatorId;
}
public String getTitle() {
    return title;
}
public void setTitle(String title) {
    this.title = title;
}
public String getLongitude() {
    return longitude;
}
public void setLongitude(String longitude) {
    this.longitude = longitude;
}
public String getLatitude() {
    return latitude;
}
public void setLatitude(String latitude) {
    this.latitude = latitude;
}
public String getStatus() {
    return status;
}
public void setStatus(String status) {
    this.status = status;
}
public String getParticipantAgeFrom() {
    return participantAgeFrom;
}
public void setParticipantAgeFrom(String participantAgeFrom) {
    this.participantAgeFrom = participantAgeFrom;
}
public String getParticipantAgeTo() {
    return participantAgeTo;
}
public void setParticipantAgeTo(String participantAgeTo) {
    this.participantAgeTo = participantAgeTo;
}
public String getParticipantSex() {
    return participantSex;
}
public void setParticipantSex(String participantSex) {
    this.participantSex = participantSex;
}
}

Вот, например, использую его:

MainActivity.class:

    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build();
    EventDateApi eventDateApi = retrofit.create(EventDateApi.class);
   String token = "Bearer STuC5kY9ebeYZ0vGifYW9gg79XJeyQ2O";
   Call<setAgeSex> setAgeSex = eventDateApi.setAgeSex(token,25,2);
   setAgeSex.enqueue(new Callback<caltest.pxsm.ru.retrofitcheck.setAgeSex>() {
       @Override
       public void onResponse(Call<setAgeSex> call, Response<setAgeSex> response) {
          System.out.print(response.body().getSex());
       }
       @Override
       public void onFailure(Call<setAgeSex> call, Throwable t) {
            System.out.print("meh");
       }
   });

Выскакивает следующая ошибка:

E/MiPicks-ConnectionRSA: get key exception : com.android.org.bouncycastle.util.encoders.DecoderException: unable to decode base64 string: invalid characters encountered in base64 data

Причем выскакивает трижды. Данные до сервера доходят в этом случае. Но в случае с createEvent нет, и вылезает та же ошибка. Что мне делать? :(

READ ALSO
Настроить соединение jComboBox с JList

Настроить соединение jComboBox с JList

На форме у меня расположено два элемента jList и ComboBox которые получают информацию из бд SQLiteПри запуске программы я получаю пустой jList, хотя в ComboBox...

232
Как программно пройтись по значениям в TreeTableView?

Как программно пройтись по значениям в TreeTableView?

JavaFXПишу программу, столкнулся с проблемой, есть кнопка по которой заполняется TreeTableView, по нажатии по другой нужно к определенной записи добавлять...

239
Подстановка параметра PreparedStatement в JDBC Oracle

Подстановка параметра PreparedStatement в JDBC Oracle

Столкулся с тем, что данная конструкция подстановки параметра (:1) работает с драйвером Oracle:

212
Ограничение рерусров контейнера на aws ecs (Ошибка &ldquo;Java heap space&rdquo; при сортировке)

Ограничение рерусров контейнера на aws ecs (Ошибка “Java heap space” при сортировке)

Разворачиваю на AWS ECS контейнеры и пробую настроить оптимальную структуруДля тестирования запустил контейнер с сортировкой на 45млн элементов...

191