2017-10-13 6 views
0

Comment ajouter le commentaire de boucle inférieure au client de maillot.comment faire un commentaire de Curl au client de Jersey

curl -X POST --user 'gigy:secret' -d 'grant_type=password&[email protected]&password=password' http://localhost:8000/gigy/oauth/token 

J'ai essayé d'aimer ci-dessous. mais je ne sais pas comment ajouter d'autres choses.

Client client = Client.create(); 
WebResource webResource = client.resource("http://localhost:8000/gigy/oauth/token"); 

Répondre

1

--user 'gigy:secret'

Vous avez besoin Basic Authentication. Fondamentalement, vous devez définir l'en-tête Authorization avec la valeur Basic base64("gigy:secret"), où base64 est tout ce que vous utilisez pour convertir la chaîne "user:password" à sa contrepartie Base 64. Vous pouvez définir les en-têtes sur le WebResource en appelant l'une de ses méthodes header.

-d 'grant_type=password&[email protected]&password=password'

Ce sont application/x-www-form-urlencoded paramètres. C'est ce que vous devrez envoyer en tant que corps d'entité de la demande. Avec Jersey, vous pouvez utiliser la classe com.sun.jersey.api.representation.Form. Une fois que vous l'avez créé, il suffit d'ajouter des paires valeur/clé comme key = grant_type et value = password. Toutes les paires sont séparées par &.

Type de support implicite.

Lorsque vous ne définissez pas l'en-tête Content-Type dans votre demande cURL, un POST par défaut application/x-www-form-urlencoded. Vous devez définir cela en utilisant la fonction type(MediaType) après avoir appelé header. Utilisez MediaType.APPLICATION_FORM_URLENCODED_TYPE.

-X POST

Maintenant, vous devez envoyer la demande. Appelez simplement post après avoir appelé type, avec les arguments suivants .post(ClientResponse.class, yourForm). Cela renverra un ClientResponse.