如何在球衣中对XML和json响应都使用genericEntity [自定义响应]

时间:2018-09-19 09:51:49

标签: java xml jaxb jersey dropwizard

am在使用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

0 个答案:

没有答案