comment envoyer de l'objet json de REPOS client à l'aide de javax.ws.rs.client.WebTarget
J'ai un POJO donné ci-dessous qui je veux le METTRE sur le serveur comme JSON ou XML.
C'est ce que j'ai fait
CLIENT:
ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);
WebTarget target = client.target(getBaseURI());
public void putFriend(String uri , Friend friend)
{
System.out.println(friend.toString());
target = target.path(some_path).path(uri);
ClientResponse response = target.request(MediaType.APPLICATION_JSON).put(Entity.entity(friend,MediaType.APPLICATION_JSON),ClientResponse.class);
}
Exemples que j'ai trouvé sur le web ont été à l'aide de WebResource.
Je ne sais pas comment faire à l'aide de WebTarget. Ce que j'ai fait est pris à partir d'un exemple trouvé sur soi, mais de l'Entité.entité() provoque une erreur de méthode non de l'entité(ami, String).
POJO
@XmlRootElement
public class Friend{
private String friendURI;
private String event;
private String uri;
String getUri() {
return uri;
}
void setUri(String uri) {
this.uri = uri;
}
String getFriendURI() {
return friendURI;
}
void setFriendURI(String friendURI) {
this.friendURI = friendURI;
}
String getEvent() {
return event;
}
void setEvent(String event) {
this.event = event;
}
public String toString() {
return "Friend [friendURI=" + friendURI + ", uri=" + uri + ", event=" + event
+ "]";
}
Veuillez vous guide sur la façon de le faire.
Grâce
OriginalL'auteur user3275095 | 2014-11-30
Vous devez vous connecter pour publier un commentaire.
Il existe deux types de Jersey versions principales, 1.x et 2.x, Vous semble être d'essayer d'utiliser une combinaison des deux, qui ne marchera pas. Le 2.x versions n'ont pas de certaines des classes en 1.x et vice versa.
Si vous souhaitez utiliser Jersey 2.x, alors vous devriez être en utilisant
Réponse
, plutôt que deClientResponse
Friend
classeWebTarget
APIRépartition de base.
Appel
request()
surWebTarget
retourne unInvocation.Buidler
Une fois que nous appelons
, on obtient un
Response
Pour extraire un type connu à partir de la réponse, on pourrait utiliser les
readEntity(Class type)
Assurez-vous que
Entity
estjavax.ws.rs.client.Entity
Oh désolé, mauvais classe d'Entité a été importé. Corrigé cela. Merci. Et oui, les getters et les setters sont publiques. Juste copié le code de vieux poste.
Une chose de plus, vous expliquez vraiment bien. Coup de pouce pour qui. Vous avez un blog ou un site web? Il serait très utile pour les débutants. Sinon, je crois que je sais qui pour se rencontrer :).
Merci beaucoup peeskillet. Pourriez-vous également montrer l'exemple où vous pouvez utiliser le jeton d'accès comme en-tête de la demande après l'obtention par la Oauth2 du processus et de faire le post de demande de login?
OriginalL'auteur Paul Samsotha