У меня есть сервис JAX-RS REST, выполненный с использованием Джерси. Одной из замечательных особенностей JAX-RS/Jersey является то, как легко POJO можно превратить в службу REST, просто воспользовавшись несколькими аннотациями Java ... включая тривиально простой механизм перевода POJO в JSON - с помощью аннотаций JAXB.Как использовать JSON/JAXB от Джерси для сериализации?
Теперь я хотел бы использовать эту классную функциональность JSON-ifying для целей, отличных от REST, - мне бы хотелось, чтобы они просто сериализовали некоторые из этих объектов на диск, как текст JSON. Вот пример JAXB объект, который я хотел бы сериализации:
@XmlRootElement(name = "user")
public class UserInfoImpl implements UserInfo {
public UserInfoImpl() {}
public UserInfoImpl(String user, String details) {
this.user = user;
this.details = details;
}
public String getUser() { return user; }
public void setUser(String user) { this.user = user; }
public String getDetails() { return details; }
public void setDetails(String details) { this.details = details; }
private String user;
private String details;
}
Джерси может превратить один из них в формате JSON без дополнительной информации. Мне интересно, предоставил ли Джерси эту функциональность в API для таких потребностей, как мой? Мне не повезло найти его до сих пор ...
Спасибо!
UPDATE 2009-07-09: Я узнал, что я могу использовать провайдеры возражают почти делать именно то, что я хочу:
@Context Providers ps;
MessageBodyWriter uw = ps.getMessageBodyWriter(UserInfoImpl.class, UserInfoImpl.class, new Annotation[0], MediaType.APPLICATION_JSON_TYPE);
uw.writeTo(....)
... Об этом пишет объект как JSON в любой выходной поток, который был бы идеальным для меня, но я могу получить только объект Providers, используя @Context из объекта @Component. Кто-нибудь знает, как получить доступ к нему из обычного, не аннотированного POJO? Благодаря!
Я также пытаюсь найти информацию об этом, но я искал что-то, что использует только javax. */Java. * Только API (я не против добавления дополнительных библиотек для тестирования JUnit, но я ожидал бы их присутствовать в JEE6 RI –
Я тоже в порядке с вызовом класса для начальной загрузки. –