Java JAX-RS的双向字段值转换
Foo类:Java JAX-RS的双向字段值转换,java,jax-rs,cxf,Java,Jax Rs,Cxf,Foo类: @Entity @Table(name = "FOO") @XmlRootElement(name = "doo") @XmlAccessorType(XmlAccessType.FIELD) public class Fooimplements Serializable { @Column(name = "SOME_FIELD") private String someField; 如果someField是abc,则封送的XML如下所示 <foo>
@Entity
@Table(name = "FOO")
@XmlRootElement(name = "doo")
@XmlAccessorType(XmlAccessType.FIELD)
public class Fooimplements Serializable {
@Column(name = "SOME_FIELD")
private String someField;
如果someField是abc,则封送的XML如下所示
<foo>
<someField>abc</someField>
是否有任何方法可以注释前后转换,以便仅出于XML封送目的,通过连接xyz将Java值abc转换为xyz.abc。在字符串开头,当XML被解组时,值xyz.abc通过删除前4个字符转换为abc?如果有必要,我将使用CXF。可以通过以下方式实现: 公共类CustomAdapter扩展了XmlAdapter{ @凌驾 公共字符串marshalString v引发异常{ 返回xyz.+v; } @凌驾 公共字符串解组字符串v引发异常{ 返回v.replaceFirst^xyz; } } 并按如下方式使用: @XmlAccessorTypeXmlAccessType.FIELD 公共类Foo实现了可序列化{ @XmlJavaTypeAdapterCustomAdapter.class 私有字符串字段; ... }
或者,您可以使用getter和setter来实现此目的。为什么不为此目的对getter和setter进行注释呢?随后,我选择了这个选项