Как сопоставить набор или список с массивом с помощью jaxrs (resteasy) в приложении Angular 5?

#java #json #angular #jax-rs #resteasy

#java #json #angular #jax-rs #resteasy

Вопрос:

У меня есть следующий java-код / объект:

 @Entity
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class Company implements java.io.Serializable {

    ...

    @XmlElementWrapper(name="trips")
    @XmlElement(name = "trip")
    private Set<Trip> trips = new HashSet<Trip>(0); 

    ... 
}
  

Вот соответствующие файлы jars:
введите описание изображения здесь

Ответ в консоли — json:

 "trips":{"trip":{"id":1,"name":"ABC"}}}}
  

Как вы можете видеть, ответ не содержит никаких скобок («[]»), что означает
resteasy не преобразует его в массив, такое поведение вызывает у меня много проблем в приложении angular.
Есть ли способ принудительно преобразовать java / resteasy в массив, чтобы я мог легко
манипулировать массивом в приложении Angular?

Как лучше всего преобразовать список в приложение Angular? Я считаю, что json должен быть чем-то вроде:

  "trips":{[{"id":1,"name":"ABC"},{"id":2,"name":"XYZ"}]}
  

Заранее спасибо.

Ответ №1:

Я решил эту проблему, загрузив trips отдельно, а не используя внутренний массив внутри объекта company. Таким образом, я могу получить массив, который упрощает мою жизнь в приложении Angular.