Вот вопрос, наш контракт - XSD-файл. В последнее время мы хотим, чтобы он поддерживал Json
. Но есть какая-то сложная проблема, которую мы должны решить. Когда я определяю XSD так:
Как настроить имя и имя поля, созданного xjc?
<xs:simpleType name="SomeType">
<xs:restriction base="xs:string">
<xs:enumeration value="SomeSelfDefineType" />
</xs:restriction>
</xs:simpleType>
сгенерированный код выглядит так:
@XmlType(name = "SomeType")
@XmlEnum
public enum SomeType {
@XmlEnumValue("SomeSelfDefineType")
SOME_SELF_DEFINE_TYPE("SomeSelfDefineType")
}
При использовании XML, это хорошо, потому что он читает данные аннотаций, но когда мы используем Json
, SomeSelfDefineType
будет переведен на номер SOME_SELF_DEFINE_TYPE
. Зарегистрируйте много пользовательских Gson serializable/deserializable Interface
, чтобы решить эту проблему, это не очень хороший вариант для меня.
Я проверил ответы других о том, как настраивать какое-то имя поля или перечисления, но у меня действительно много определений перечислений. Есть ли плагин или решения для меня, чтобы сгенерировать код вроде этого:
@XmlType(name = "SomeType")
@XmlEnum
public enum SomeType {
@XmlEnumValue("SomeSelfDefineType")
SomeSelfDefineType("SomeSelfDefineType")
}
Я не знаком с JAXB или его плагинов, может кто-нибудь дать мне некоторые параметры xjb или плагин для меня, чтобы сохранить эту проблему?
эй, чувак, проблема для меня есть много типов Enum для меня, поэтому я хочу знать, есть ли более простой способ настроить весь тип Enum. –