Ключи GWT DTO с добавлением _0_g $ - PullRequest
0 голосов
/ 09 апреля 2020

У меня очень простое c приложение, настроенное с использованием GWT (не мой выбор), и все шло нормально. У меня есть пара DTO, которые я использую для пользовательских данных, но когда они отправляются клиенту, они видоизменяются, а ключи различаются и ненадежны.

Такие объекты, как

package com.profdecube.gwtreact.shared;

import java.io.Serializable;

public class Person implements Serializable {
    public String firstName;
    public String lastName;
    public String job;
    public Address address;
    public String faveColor;

    public Person() {       
    }
}

и

package com.profdecube.gwtreact.shared;

import java.io.Serializable;

public class Address implements Serializable {
    public Long number;
    public String street;
    public String town;
    public String county;
    public String postcode;

    public Address() {}
}

с выводом, похожим на это

{
  "address_0_g$": {
    "county_0_g$": "Greater London",
    "number_1_g$": {
      "value_13_g$": 221
    },
    "postcode_0_g$": "NW1 6XE",
    "street_0_g$": "Baker Street",
    "town_0_g$": "City of Westminster"
  },
  "faveColor_0_g$": "pink",
  "firstName_0_g$": "Sherlock",
  "job_0_g$": "Consulting Detective",
  "lastName_0_g$": "Holmes"
}

Число, похоже, не остается постоянным, поэтому его нельзя использовать в любой среде разработки. Я пытался использовать jsinterop с аннотацией @JsType, однако в результате я просто получаю сообщение «У человека нет экземпляров не поддающихся обработке подтипов» при компиляции

Любые предложения будут в значительной степени оценены. Спасибо

...