jaxb 对象转xml 报错:类的两个属性具有相同名称 lombok(@Data)_yzshen123456的博客-CSDN博客_类的两个属性具有相同名称

此问题在工作当中遇到过三次了,每次对象嵌套转xml就遇到此问题,这次记录下,以便下次遇到,能百度到自己的记录来解决!!!!!

异常: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
类的两个属性具有相同名称 "examinationItemDetails"

按照我当前类的写法  得需要从get方法上加@XmlTransient来避免此错误,因为想用lombok的@Data,并且写在get上比较乱,查看文档https://www.w3cschool.cn/jaxb2/jaxb2-q85r2zok.html

所以在类名上增加此属性,意思是只映射字段

完整model

package com.gmk.webservice.entity; import lombok.Data; import javax.xml.bind.annotation.*;import java.util.List; /** * 描述:查询报告项目细项结果 * * @author xianmin.yang * @create 2021-08-31 9:49 */@XmlAccessorType(XmlAccessType.FIELD)@XmlRootElement(name="Response")@Datapublic class PeItemResponseVo extends ResCommonVo{     @XmlElement(name = "ResultList")    private PeItemResponseVo.ResultVo resultVo;      @Data    @XmlAccessorType(XmlAccessType.FIELD)    public static class ResultVo{         private String total; //        @XmlElementWrapper(name = "ExaminationItem", nillable = true)        @XmlElement(name = "ExaminationItem")        private List<PeItemResponseVo.ExaminationItem> examinationItems;     }    @Data    @XmlAccessorType(XmlAccessType.FIELD)    public static class ExaminationItem{         //项目名称        private String itemDesc;        //项目ID        private String itemId;        //报告格式        private String reportFormat;        //检查医生        private String doctorName;        //审核医生        private String auditDoctorName;        //检查日期        private String examDate;        //站点编码        private String stationCode;        //站点名称        private String stationName;        //第一条 1是 0否        private String isFirst;        //最后一条 1是 0否        private String isLast;         @XmlElementWrapper(name = "ItemDetailList", nillable = true)        @XmlElement(name = "ExaminationItemDetail")        private List<PeItemResponseVo.ExaminationItemDetail> examinationItemDetails;    }     @Data    public static class ExaminationItemDetail{        //细项名称        private String itemDesc;        //英文缩写        private String itemAbbreviation;        //细项结果        private String itemResult;        //异常提示        private String exceptionTip;        //单位        private String itemUom;        //参考范围        private String referenceRange;    }}

 最终结果(嵌套对象转xml 得到第三方提供的接口格式)

<Response>    <ResultCode>0</ResultCode>    <ResultDesc>成功</ResultDesc>    <ResultList>        <total>1</total>        <ExaminationItem>            <itemDesc>内科检查</itemDesc>            <itemId>2132||1</itemId>            <reportFormat>RF_NOR</reportFormat>            <doctorName>Demo Group</doctorName>            <examDate>2017-08-25</examDate>            <stationCode>2</stationCode>            <stationName>内科</stationName>            <isFirst>1</isFirst>            <isLast>0</isLast>            <ItemDetailList>                <ExaminationItemDetail>                    <itemDesc>心率</itemDesc>                    <itemResult>89</itemResult>                    <itemUom>次/分</itemUom>                    <referenceRange>60-90</referenceRange>                </ExaminationItemDetail>                <ExaminationItemDetail>                    <itemDesc>心脏节律</itemDesc>                    <itemResult>整齐</itemResult>                    <referenceRange>整齐</referenceRange>                </ExaminationItemDetail>            </ItemDetailList>        </ExaminationItem>        <ExaminationItem>            <itemDesc>常规心电图检查(12导联)</itemDesc>            <itemId>2132||5</itemId>            <reportFormat>RF_EKG</reportFormat>            <doctorName>Demo Group</doctorName>            <examDate>2017-08-25</examDate>            <stationCode>10</stationCode>            <stationName>心电图</stationName>            <isFirst>0</isFirst>            <isLast>1</isLast>            <ItemDetailList>                <ExaminationItemDetail>                    <itemDesc>常规心电图检查(12导联)</itemDesc>                    <itemResult>临床诊断:;检查所见:正常;诊断意见:异常</itemResult>                </ExaminationItemDetail>            </ItemDetailList>        </ExaminationItem>    </ResultList></Response>

原网址: 访问
创建于: 2022-05-24 14:37:26
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论