Ввести новый класс, как показано ниже
@XmlRootElement(name = "responseList")
public class ResposeList {
private List<Object> list;
public List<Object> getList() {
return list;
}
public void setList(List<Object> list) {
this.list = list;
}
}
, и установить список ниже
@GET
@Path("/get")
@Produces(MediaType.APPLICATION_XML)
public ResposeList addObjects() {
Book book = new Book();
book.setName("Here is the Game");
book.setAuthor("HHH");
BookStore bookstore = new BookStore();
bookstore.setName("Prateek Bookstore");
bookstore.setLocation("Vasanth Nagar");
ArrayList<Object> list = new ArrayList<Object>();
list.add(book);
list.add(bookstore);
ResposeList books=new ResposeList();
books.setList(list);
return books;
}
Вам нужно обернуть свою сущность (Arraylist) под объектом Response. Также ваш метод возврата метода rest должен быть Response. Вот что вам нужно сделать:
@GET
@Path("/get")
@Produces(MediaType.APPLICATION_XML)
public Response addObjects() {
Book book = new Book();
book.setName("Here is the Game");
book.setAuthor("HHH");
BookStore bookstore = new BookStore();
bookstore.setName("Prateek Bookstore");
bookstore.setLocation("Vasanth Nagar");
ArrayList<Object> list = new ArrayList<Object>();
list.add(book);
list.add(bookstore);
return Response.status(200).entity(list).build();
}
Также добавьте @XmlElemen
t поверх получателя в вашем компоненте ResponseList
@XmlRootElement
public class ResponseList {
private ArrayList<Object> list;
@XMLElement("booksList")
public ArrayList<Object> getList() {
return list;
}
public void setList(ArrayList<Object> list) {
this.list = list;
}
}
Вы можете просто использовать JSONArray для отображения результата. Создайте объект JSONArray и передайте его в конструктор JSONArray (). Затем верните объект JSONArray в строковый формат. Измените возвращаемый тип вашего метода на String, и будет работать flollowing код.
Blockquote
blockquote>JSONArray a = new JSONArray (list); return a.toString ();