拖放向导中的 XML 响应格式



我想要单个api的xml和json格式。 我的问题在 xml 中

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Fruits>
<response>
<name>Mango</name>
<qty>2kg</qty>
<rate>60.00</rate>
</response>
<response>
<name>Banana</name>
<qty>2kg</qty>
<rate>80.00</rate>
</response>
</Fruits>

我得到这样的回应,但我想要这样的回应

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
<list>
<item>
<name>Mango</name>
<qty>2kg</qty>
<rate>60.00</rate>
</item>
</list>
</response>

波乔是

@XmlRootElement(name ="response")
public class Fruit {    
private String name;
private String qty;
private String rate;
public GetSellerBuyerCode(String name, String qty, String rate) {
this.name=name;
this.qty=qty;
this.rate=rate;     
}
@XmlElement
public String getName() {
return name;
}
@XmlElement
public String getQty() {
return qty;
}
@XmlElement
public String getRate() {
return rate;
}   
}

控制器代码 :

@Path("/Fruits")
@POST
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public Response getSellersBySellerCodeDet() {
List<Fruit> list = new ArrayList<Fruit>();      
list = buyDAO.getFruits();
return Response.ok(new GenericEntity<List<Fruit>>(list) {}).build();
}

我试过@XmlRootElement但类名作为根元素出现。 任何人都可以告诉如何避免这种情况。 并且正在使用Dropwizard 1.1.2和Jersey 2.25.1

下面的解决方案对我有用,没有尝试使用dropwizard,只尝试使用Jaxb。

你能检查一下吗?

@XmlRootElement(name="Response")
@XmlAccessorType(XmlAccessType.FIELD)
class FruitList{
@XMLElement(name="item")
private ArrayList<Fruit> list;
public ArrayList<Fruit> getList() {
return list;
}
public void setList(ArrayList<Fruit> list) {
this.list = list;
}
}

public class Fruit {  
@XmlElement(name="name")
private String name;
@XmlElement(name="qty")
private String qty;
@XmlElement(name="rate")
private String rate;
public Fruit () {
}
public Fruit (String name, String qty, String rate) {
this.name=name;
this.qty=qty;
this.rate=rate;     
}
public String getName() {
return name;
}
public String getQty() {
return qty;
}
public String getRate() {
return rate;
}   
}

最新更新