写接口时关于@Produces,@XmlRootElement的使用

在写接口时需要返回xml类型的数据,需要在接口方法上添加@Produces注解,代码如下:

@GET
    @Path("getCrmManageSellers")
    @Produces(MediaType.APPLICATION_XML)
    //@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public List<CrmManageSellerBean> getCrmManageSellers(@QueryParam("projectId") String projectId)
    {
        List<CrmManageSellerBean> cManageSellers = new ArrayList<CrmManageSellerBean>();

        try {
            //根据projectId查询商家信息
            List<CrmManageSeller> cSellers = crmManageSellerService.getCrmManageSellersByProjectId(projectId);
            //Project project = this.projectService.findProjectById(Long.valueOf(projectId));

            if(cSellers != null)
            {
                for(CrmManageSeller cSeller : cSellers)
                {
                    //周边商家资源
                    CrmManageSellerBean bean = new CrmManageSellerBean();
                    //商品文件表,存放logo地址
                    TbgGoodsFile logoFile = new TbgGoodsFile();
                    //获取logo信息
                    Long sellerId = cSeller.getSellerId();

                    //type:4,商家;rectId:关联id
                    Map<String, Object> map = LittleUtils.getMap("type",4,"rectId",sellerId);

                    //查询商家的logo信息
                    List<TbgGoodsFile> logoFiles = tbgGoodsFileService.findAll(map);

                    if(logoFiles.size() > 0)
                    {
                        logoFile = logoFiles.get(0);
                        //cSeller.setLogoFilePath(logoFile.getFilePath());
                    }

                    bean.setAddress(cSeller.getAddress());
                    bean.setBusinessName(cSeller.getSellerName());
                    bean.setLogoFilePath(logoFile.getFilePath());
                    bean.setPhone(cSeller.getTelNo());
                    cManageSellers.add(bean);

                }
            }
        } catch (Exception e) {
            logger.info("获取商家列表失败!");
            e.printStackTrace();
        }

        return cManageSellers;
    }

这里的CrmManageSellerBean是专门定义的一个bean,用来作为xml的根元素,需要在此类定义时加上@XmlRootElement注解,代码如下:

@XmlRootElement(name = "crmManageSeller")
public class CrmManageSellerBean {
    代码块
}

下面是网上查到的资料:
@Produces(MediaType.APPLICATION_XML):指生成xml类型的数据。
XmlRootElement: 将类或枚举类型映射到 XML 元素。JAXB中的注解,用来根据java类生成xml内容。

当使用 @XmlRootElement 注释对顶层类或枚举类型进行注释时,类型值被表示为 XML 文档中的 XML 元素。

暂时就这么多~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值