【发布时间】:2020-07-08 05:53:28
【问题描述】:
我有一个想要序列化为 xml 的 kotlin 数据类。我正在使用杰克逊 Fasterxml。但是,当我序列化该类时,JacksonXmlProperty 被忽略,因此没有提供所需的输出。这是我正在处理的数据类。
@JacksonXmlRootElement(localName = "COMMAND")
data class Request(
@JacksonXmlProperty(localName = "TYPE")
val type: String,
@JacksonXmlProperty(localName = "INTERFACEID")
val interfaceId: String,
@JacksonXmlProperty(localName = "MSISDN")
val msisdn: String,
@JacksonXmlProperty(localName = "MSISDN2")
val msisdn2: String,
@JacksonXmlProperty(localName = "AMOUNT")
val amount: Int,
@JacksonXmlProperty(localName = "MEMO")
val memo: String,
@JacksonXmlProperty(localName = "EXTTRID")
val externalTxnId: String,
@JacksonXmlProperty(localName = "MERCHANT_TXN_ID")
val merchantTxnId: String,
@JacksonXmlProperty(localName = "IS_TRANS_UNIQUE_CHECK_REQUIRED")
val isUnique: String = "Y",
@JacksonXmlProperty(localName = "REFERENCE")
val reference: String,
@JacksonXmlProperty(localName = "serviceType")
val serviceType: String,
@JacksonXmlProperty(localName = "USERNAME")
val username: String,
@JacksonXmlProperty(localName = "PASSWORD")
val password: String
)
我得到的响应忽略了 JacksonXmlProperty:
<COMMAND>
<serviceType>MERCHPAY</serviceType>
<type>MERCHPAY</type>
<interfaceId>DATABUNDLES</interfaceId>
<msisdn>733204938</msisdn>
<msisdn2>100001929</msisdn2>
<amount>1000</amount>
<memo>Enter the PIN for payment of 1000 to purchase testing transaction</memo>
<externalTxnId>07026984141550752666</externalTxnId>
<merchantTxnId>07026984141550752666</merchantTxnId>
<reference>Testing transaction</reference>
<username>abcd</username>
<password>abcd123</password>
</COMMAND>
【问题讨论】:
标签: xml spring-boot kotlin fasterxml data-class