首页 > 解决方案 > 如何在球衣中为 xml 和 json 响应使用 genericEntity [自定义响应]

问题描述

使用 genericEntity 时,我得到了 xml 和 json 格式的响应。但不知道如何使用 genericEntity 以特定格式格式化这些 xml。我想要如下的响应格式

XML 格式

<response><list><item><name>earth</name></item><item><name>mars</name></item></list></response>

JSON 格式

{"list": [{"name":"earth"},{"name":"mars"}]}

java POJO

public class Planet {
    public String name;    
    public Planet() {
    }    
    public Planet(String name) {
    this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

控制器代码

@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
    public Response getSellersBySellerCodeDet() {
    ArrayList<Planet> list = new ArrayList<Planet>();
    list = DAO.getName();
    return Response.ok(new GenericEntity<List<Planet>>(list) {}).build();
}

回应正在得到什么

<?xml version="1.0" encoding="UTF-8"?>
<Planets>
  <Planet>
   <name>earth</name>
  </Planet>
  <Planet>
   <name>mars</name>
  </Planet>
</Planets>

谁能告诉我如何克服这种反应并获得我想要的正确反应。我尝试了@XmlRootElment 并且正在使用 dropwizard 1.2.1 和 jersey 2.21 和 jdbi 2

标签: javaxmljaxbjerseydropwizard

解决方案


推荐阅读