2012-06-07 2 views
1

J'ai besoin d'écrire des API java pour l'une de mes applications web printemps 3. Je devrais être capable de faire toutes les actions que j'effectue en utilisant mon interface web, à travers ces APIs aussi. avoir des méthodes de contrôleur décorées avec @RequestMapping. J'ai récemment entendu que, ces méthodes peuvent être exposées comme un service de repos qui peut être consulté via le client de repos avec une modification minime. Je me demandais juste les moyens recommandés pour créer un client de repos pour les services spring3. Je ne veux pas utiliser de dépendances de printemps dans ces API Java. Je devrais être en mesure de télécharger des fichiers en utilisant ces API car j'ai multipart/formulaire-données implémentées dans mon application de printemps. Quelqu'un peut-il m'aider à choisir la meilleure façon de développer RestClients en java pour les applications de printemps?Mise en œuvre de Rest Client pour l'application Spring 3

J'ai ci-dessous implémentations HTTP:

Java - utilise l'implémentation HTTP fournie par la machine virtuelle Java. Cela a quelques limitations en comparaison avec les implémentations HttpClient.

HTTPClient3.1 - utilise Apache Commons HttpClient 3.1.

HTTPClient4 - utilise Apache HttpComponents HttpClient 4.x.

SVP faites-moi savoir votre suggestion.

Répondre

1

Personnellement, j'utilise org.springframework.web.client.RestClient, puisque vous utilisez déjà Spring. Ils font un travail décent de la gestion de ce dont vous avez besoin, gardez juste à l'esprit leur exception et aucun traitement de contenu nul. La seule modification que je devais faire était de passer outre leur doExecute(URI, HttpMethod, RequestCallback, ResponseExtractor<T>) et d'ajouter:

if (response.getStatusCode().equals(HttpStatus.NO_CONTENT)) { 
    return null; 
} 

avant

if (!getErrorHandler().hasError(response)) { ... 

Autre que cette petite bizarrerie (et une gestion des exceptions personnalisée), il a été un excellent outil.

+0

Merci beaucoup pour les détails. Je me demandais si RestTemplate supporte le téléchargement de fichiers en plusieurs parties. Je dois envoyer des fichiers avec HTTPRequest – ASChakkalakal

+0

http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html https: //jira.springsource. org/browse/SPR-5904 yup – MaddHacker

+0

Vous pouvez aussi regarder ici: http://stackoverflow.com/questions/4118670/sending-multipart-file-as-post-parameters-with-resttemplate-requests – MaddHacker

Questions connexes