Wir implementieren einen REST-Client in JRE 1.4.
Zwei gute Optionen für ein Client-REST-Framework sind HttpClient und HttpUrlConnection .
Gibt es einen Grund, HttpClient über die HttpUrlConnection der JRE zu verwenden?
Ich würde Jakarta Commons HTTP Client über java.net.HttpUrlConnection empfehlen, da es ausgereifter ist und eine Seite hat reichere Funktionen . Zum Beispiel können Sie darum bitten, einen Multithread-Verbindungspool einzurichten (siehe MultiThreadedHttpConnectionManager ) und Es hat volle Unterstützung für alle HTTP-Methoden (GET, PUT, POST, DELETE, OPTIONEN, TRACE).
Ich gebe Ihnen einen einzigen, konkreten Grund, Apache HTTPClient gegenüber der JDK-Implementierung zu bevorzugen: Das HttpUrlConnection
des JDK unterstützt keine Timeouts *, der HTTPClient von Apache.
Anwendungen sollten immer die Möglichkeit haben, Timeouts festzulegen, wenn sie in andere Systeme (Datenbanken, Remote-Dienste, Ihr eigenes Server-Backend usw.) anrufen.
* Dies wurde in Java 1.5 behoben. Java 1.5 und höher unterstützen Timeouts in HttpUrlConnection.
Das Restlet Framework verfügt auch über eine API, die sowohl serverseitig als auch clientseitig funktioniert. Wir unterstützen steckbare Client-Connectors unter Nutzung von HttpURLConnection oder Apache HTTP Client oder unserem eigenen internen HTTP-Client.
Unsere ClientResource-Klasse bietet eine HTTP-Client-API auf höherer Ebene mit Funktionen wie automatischer Umleitung, transparenter Konvertierung zwischen Objekten und Darstellungen, Inhaltsverhandlung und mehr.
Mit freundlichen Grüßen
Jerome Louvel
Restlet ~ Gründer und Hauptentwickler Ссылка
Noelios Technologies ~ Mitbegründer ~ Ссылка
Tags und Links java rest httpclient httpurlconnection