Implementiamo un client REST su JRE 1.4.Usa HTTPClient o HttpUrlConnection?
Sembra che due buone opzioni per un framework REST client siano HttpClient e HttpUrlConnection.
C'è un motivo per utilizzare HttpClient su HttpUrlConnection di JRE?
Implementiamo un client REST su JRE 1.4.Usa HTTPClient o HttpUrlConnection?
Sembra che due buone opzioni per un framework REST client siano HttpClient e HttpUrlConnection.
C'è un motivo per utilizzare HttpClient su HttpUrlConnection di JRE?
Nella mia esperienza HttpClient è leggermente più semplice e intuitivo da usare rispetto all'utilizzo di HttpUrlConnection, ma penso che sia una decisione molto soggettiva e YMMV.
Vorrei andare con la versione JRE solo così avrei una dipendenza in meno da spedire in giro.
Questo confronto sembra un po 'datato – jitter
Alcuni di noi non hanno il lusso di usare le ultime versioni di ** qualsiasi cosa ** :-( –
HttpUrlConnection è facile da gestire. Le implementazioni REST sono abbastanza semplici.
Anche se è necessario considerare l'intero ambiente su questa implementazione e verificare cosa funzionerà meglio per voi.
Lo Restlet Framework dispone inoltre di un'API che funziona sia sul lato server che sul lato client. Supportiamo connettori client collegabili, sfruttando HttpURLConnection o Apache HTTP Client o il nostro client HTTP interno.
La nostra classe ClientResource fornisce un'API client HTTP di livello superiore, con funzionalità come il reindirizzamento automatico, la conversione trasparente tra oggetti e rappresentazioni, la negoziazione del contenuto e altro.
Con i migliori saluti,
Jerome LOUVEL
Restlet ~ fondatore e sviluppatore di piombo ~ http://www.restlet.org
Noelios Technologies ~ co-fondatore ~ http://www.noelios.com
Siamo su 1.4 - Restlet funziona su 1.4? –
@Marcus: Sì, lo sto facendo, sto usando il client di Restlet proprio adesso in Java 1.6 ed è un sogno. (Lo abbiamo configurato per sedersi sopra Apache HTTP Client, che è molto meglio di java.net.HttpUrlConnection.) –
ti darò un singolo, concreto motivo per favorire l'HTTPClient di Apache rispetto all'implementazione JDK: il HttpUrlConnection
di JDK non supporta i timeout *, fa HTTPClient di Apache.
Le applicazioni devono sempre essere in grado di impostare i timeout quando si chiama in altri sistemi (database, servizi remoti, il proprio server backend, ...).
* Questo problema è stato risolto in Java 1.5; Timeout di supporto Java 1.5 e versioni successive in HttpUrlConnection.
Non vero! Questo problema è stato risolto in Java 1.5. –
Sono stato corretto. Buono a sapersi (è sulla classe URLConnection). – SteveD
Buon punto. Siamo su 1.4 quindi questo sembra del tutto pertinente. –
Vorrei raccomandare Jakarta Commons Client HTTP su java.net.HttpUrlConnection in quanto è più maturo e ha un richer feature set. Ad esempio, è possibile chiedere di impostare un pool di connessioni multi-threaded (vedere MultiThreadedHttpConnectionManager) e ha il supporto completo per tutti i metodi HTTP (GET, PUT, POST, DELETE, OPTIONS, TRACE).
... httpclient non supporta/autenticazione NTLM Kerberos per i proxy, ecc ... HttpURLConnection di java farà l'autenticazione fuori dalla scatola ...
Tale confronto è in realtà guardando innovazioni HttpClient, non ha nulla a fare con Apache HttpClient afaik – objects
Grazie oggetti .. rimosso link. –