256 votes

Comment créer un client REST pour Java ?

Avec la JSR 311 et ses implémentations, nous disposons d'une norme puissante pour l'exposition d'objets Java via REST. Cependant, du côté client, il semble manquer quelque chose de comparable à Apache Axis pour SOAP - quelque chose qui cache le service web et marshalise les données de manière transparente en objets Java.

Comment créer des clients Java RESTful ? En utilisant HTTPConnection et en analysant manuellement le résultat ? Ou des clients spécialisés pour, par exemple, Jersey ou Apache CXR ?

0 votes

Je viens de trouver Clin d'œil apache dans l'incubateur Apache. Il pourrait s'agir d'un projet intéressant pour la création de serveurs et de clients REST.

2 votes

0 votes

Voir [Repos]( code.google.com/p/resting ). Il promet d'invoquer les services REST et de créer une liste d'objets à partir de la réponse XML/JSON/YAML en une seule étape.

6voto

Vous pouvez essayer Rapa . Faites-nous part de vos commentaires à ce sujet. N'hésitez pas à nous faire part des problèmes rencontrés ou des fonctionnalités attendues.

6voto

Ophir Radnitz Points 439

J'aimerais souligner deux autres options :

6voto

yegor256 Points 21737

Essayer JdkRequest de jcabi-http (je suis développeur). Voici comment cela fonctionne :

String body = new JdkRequest("http://www.google.com")
  .header("User-Agent", "it's me")
  .fetch()
  .body()

Consultez cet article de blog pour plus de détails : http://www.yegor256.com/2014/04/11/jcabi-http-intro.html

5voto

Yasitha Chinthaka Points 1334

J'ai récemment essayé Rénovation Library from square, c'est génial et vous pouvez appeler votre API restante très facilement. La configuration basée sur les annotations nous permet de nous débarrasser d'une grande partie du codage de la plaque de chaudière.

5voto

Sam Edwards Points 156

OkHttp est léger et puissant lorsqu'il est combiné avec Retrofit. Cela fonctionne bien pour une utilisation générale de Java ainsi que sur Android.

OkHttp : http://square.github.io/okhttp/

public static final MediaType JSON
    = MediaType.parse("application/json; charset=utf-8");

OkHttpClient client = new OkHttpClient();

String post(String url, String json) throws IOException {
  RequestBody body = RequestBody.create(JSON, json);
  Request request = new Request.Builder()
      .url(url)
      .post(body)
      .build();
  Response response = client.newCall(request).execute();
  return response.body().string();
}

Rénovation : http://square.github.io/retrofit/

public interface GitHubService {
  @GET("/users/{user}/repos")
  Call<List<Repo>> listRepos(@Path("user") String user);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X