При попытке проанализировать XML с помощью JAXBContext.newInstance (GetVehiclesResponse.class) я получаю APIResponse [status=0, response=Response [items=[]]]
(toString здесь не показано). Пробовал смешивать / изменять аннотации, но, вероятно, не нашел правильную комбинацию.
@XmlRootElement(name="nodes")
public class GetVehiclesResponse extends APIResponse<Vehicle> {
}
.
@XmlAccessorType(XmlAccessType.FIELD)
public class APIResponse<T> {
private String status;
private Response<T> response;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Response<T> getResponse() {
return response;
}
public void setResponse(Response<T> response) {
this.response = response;
}
}
.
@XmlRootElement
public class Response<T> {
private List<T> items;
public Response() {
items = new ArrayList<T>();
}
public Response(List<T> items) {
this.items = items;
}
@XmlElementWrapper
public List<T> getItems() {
return items;
}
}
.
@XmlRootElement(name="node")
@XmlAccessorType(XmlAccessType.FIELD)
public class Vehicle {
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
XML
<nodes>
<status>0</status>
<response>
<node key="0">
<id>...</id>
<name>...</name>
</node>
<node key="1">
<id>...</id>
<name>...</name>
</node>
</response>
</nodes>
Некоторый текст, чтобы сделать это сообщение действительным. Некоторый текст, чтобы сделать этот пост действительным. Некоторый текст, чтобы сделать это сообщение действительным.