记一次@XmlSeeAlso的奇怪地方
@XmlSeeAlso xml转java对象 只能转换一种对象
尽管在括号中写了多个对象,但是如果使用了泛型什么的会擦除类型,返回的数据就只会是@XmlSeeAlso()括号中的第一个类型,而且不管信息格式是否正确,有老哥已经踩过这个坑了@XmlSeeAlso xml转java对象 只能转换一种对象 这个老哥也给了他的解决方案,response调整为抽象的父类,不同的对象继承该父类。
我这里还有一个相对比较繁琐的解决办法,每一个需要返回的类都给一个base类,不同的包下都给一个比如response包下给个responseBase然后@XmlSeeAlso()中加上需要返回的类,只加一个。如果有request的话,就在request包下给个requestBase,然后@XmlSeeAlse 加上需要返回的类。如果有多个request和response的话,就放在不同的包下,然后参照上述做法。。。很麻烦。
@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "XXXResponse", propOrder = { "username" }) public class XXXResponse extends Base {
@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "doc") @XmlSeeAlso({ XXXResponse.class }) public abstract class doc {
如上是其中一个Response的解决办法