2010-11-15 11 views
4

J'ai regardé le code source disponible à partir du Restlet official tutorial.L'application de tutoriel RESTlet ne renvoie pas d'objets Java (JSON uniquement)

J'essaie de frapper le serveur Restlet en utilisant l'application Android à partir du tutoriel et je reçois seulement la réponse JSON, pas l'objet Java. J'ai essayé d'utiliser toutes les bibliothèques et extensions, rien ne fonctionne. Lorsque je clique sur l'url du tutoriel (http://restlet-example-serialization.appspot.com/contacts/123), j'obtiens la réponse désirée. Des idées? BTW, je suis en train d'utiliser le serveur (GAE) dans l'exemple, pas l'interface GWT.

+0

En outre, le client Java SE fonctionne très bien. C'est juste le client Android qui ne fonctionne pas. – oviroa

Répondre

-1

Utilisez GSOn pour convertir json en objet Java. GSON vous pouvez obtenir de Google comme leur code:

http://code.google.com/p/google-gson/

Autre façon:

Response res = client.handle(req); 
    ObjectRepresentation<Item> obj = new ObjectRepresentation<Item>(res.getEntity()); 
    Item item = obj.getObject(); 
+0

Je ne veux pas faire ça. En théorie, la beauté de Restlet est que vous ne traitez que des objets Java et que vous n'avez pas à sérialiser/désérialiser. D'autres idées? – oviroa

+0

L'autre façon est la suivante: Réponse res = client.handle (req); ObjectRepresentation obj = new ObjectRepresentation (res.getEntity()); Élément d'élément = obj.getObject(); –

+1

Donc dans le client Android, le tutoriel a ce morceau de code: contact = resource.retrieve(); où contact est de type Contact et Resource est de type ContactServerResource. Comment votre code remplace-t-il cela? Et pourquoi ce code fonctionne-t-il lorsque j'accède à l'application estlet-example-serialization mais pas lorsque je déploie le code sous mon application dans GAE? – oviroa