J'ai un JAX-RS RESTE service mis en place à l'aide de Jersey. Une des fonctionnalités intéressantes de JAX-RS/Jersey est comment facilement un POJO peut être transformé en un service REST, simplement en les saupoudrant d'un peu d'annotations Java... y compris un trivial mécanisme de conversion des Pojo de JSON à l'aide des annotations JAXB.
Maintenant, je voudrais être en mesure de prendre avantage de ce cool JSON-la ratification de la fonctionnalité pour les non-REPOS fins - j'aimerais tout simplement pouvoir sérialiser certains de ces objets sur le disque, comme JSON texte. Voici un exemple JAXB objet que je veux pour sérialiser:
@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;
}
Jersey peuvent tourner l'un de ces en json avec aucune autre info. Je me demandais si Jersey a exposé à cette fonction dans l'API pour les besoins comme le mien? Je n'ai pas eu la chance de trouver si loin...
Merci!
Mise à JOUR 2009-07-09: j'ai appris que je peux utiliser les Fournisseurs de l'objet à presque faire exactement ce que je veux:
@Context Providers ps;
MessageBodyWriter uw = ps.getMessageBodyWriter(UserInfoImpl.class, UserInfoImpl.class, new Annotation[0], MediaType.APPLICATION_JSON_TYPE);
uw.writeTo(....)
... Ce qu'écrit l'objet json pour tout outputstream, ce qui serait parfait pour moi, mais je ne peux obtenir les Prestataires de l'objet à l'aide de @Contexte à partir d'un @Component object. Personne ne sait comment y accéder à partir d'un régulier, onu-annoté POJO? Merci!