记一次@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的解决办法

posted @ 2019-07-11 11:42  落楝花  阅读(1277)  评论(0编辑  收藏  举报

乘兴而来