Comment définir l'en-tête HTTP dans l'infrastructure client RESTEasy?
RESTEasy (un JAX-RS de mise en œuvre) a une belle cadre du clientpar exemple:
RegisterBuiltin.register(ResteasyProviderFactory.getInstance());
SimpleClient client = ProxyFactory.create(SimpleClient.class, "http://localhost:8081");
client.putBasic("hello world");
Comment pouvez-vous définir les en-têtes HTTP?
Précisions:
La solution proposée par jkeeler est une bonne approche, mais je veux mettre les en-têtes HTTP ProxyFactory niveau et je ne veux pas passer en-têtes de l'objet client. Des idées?
source d'informationauteur Lukasz R.
Vous devez vous connecter pour publier un commentaire.
Avec RestEasy 3.x-je utiliser ClientRequestFilters. Dans l'exemple ci-dessous il y a une intégration continue (CI) serveur à l'écoute pour les demandes en cours d'exécution en arrière-plan. Le test et le serveur CI utilisent la même base de données et les classes d'entité.
Supposons qu'un locataire nommée "test-locataire' existe effectivement, et il y a un utilisateur "root" qui appartient à qui le locataire, et l'utilisateur a le mot de passe spécifié ci-dessous.
Et la AddAuthHeadersRequestFilter classe:
Les déclarations d'importation (en supposant que vous venez de coller le test et la statique de la classe en un seul TestNg test-fichier de classe):
Dans votre client de proxy interface, utilisez la
@HeaderParam
annotation:L'appel dans votre exemple ci-dessus serait d'ajouter un en-tête HTTP qui ressemble à ceci:
J'ai trouvé une solution:
Encore plus facile: