Jersey(JAX-RS 2.0),带有嵌套类
如何强制Jersey为下面的示例中的嵌套类生成JSON输出 当我使用清单实例创建server sent OutboundEvent时,清单是一个嵌套类,不会生成JSON输出 只要我将清单重构到一个单独的外部类中,一切都正常工作Jersey(JAX-RS 2.0),带有嵌套类,jersey,jax-rs,jersey-2.0,Jersey,Jax Rs,Jersey 2.0,如何强制Jersey为下面的示例中的嵌套类生成JSON输出 当我使用清单实例创建server sent OutboundEvent时,清单是一个嵌套类,不会生成JSON输出 只要我将清单重构到一个单独的外部类中,一切都正常工作 public class Listings { private List<Listing> listings; public class Listing { private String name; publ
public class Listings {
private List<Listing> listings;
public class Listing {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public List() {
listings = new ArrayList<>();
}
public List<Listing> getListings() {
return listings;
}
public void settListings(List<Listing> listings) {
this.listings = listings;
}
}
你能提供一个什么不起作用的例子吗?请看更新的问题
@GET
@Path("events")
@Produces(SseFeature.SERVER_SENT_EVENTS)
public EventOutput listingEvents() {
final EventOutput eventOutput = new EventOutput();
try {
final OutboundEvent.Builder eventBuilder = new OutboundEvent.Builder();
eventBuilder.mediaType(MediaType.APPLICATION_JSON_TYPE);
eventBuilder.data(listings); // of type Listings
final OutboundEvent event = eventBuilder.build();
eventOutput.write(event);
} catch (IOException e) {
throw new RuntimeException("Error when writing the event.", e);
} finally {
try {
eventOutput.close();
} catch (IOException ioClose) {
throw new RuntimeException("Error when closing the event output.", ioClose);
}
}
return eventOutput;
}