
Moduł i pakiet java.net.http
Proszę zwrócić uwagę, że w module java.base znajduje się pakiet java.net z podpakietem
java.net.spi.
Moduł java.net.httpzawiera jeden pakiet java.net.http.
Dostarcza wysokopoziomowych interfejsów dla klientów HTTP (wersja 1.1 i 2) i niskopoziomowe interfejsy klienckie
dla gniazd webowych. Główne typy to:
HttpClient– klasa abstrakcyjnaHttpRequest– klas abstrakcyjnaHttpResponse– interfejsWebsocket– interfejs
Interfejsy pakietu java.net.http
| Interfejsy | Opis |
|---|---|
| HttpClient.Builder | Budowniczy do budowania klientów HTTP |
| HttpRequest.BodyPublisher | Przekształca wysokopoziomowe obiekty Jva w strumień buforów bajtowych odpowiednich do przesłania jako ciało żądania. |
| HttpRequest.Builder | Budowniczy do budowania żądań HTTP |
| HttpResponse<T> | Odpowiedź HTTP |
| HttpResponse.BodyHandler<T> | Handler (uchwyt) dla ciał odpowiedzi |
| HttpResponse.BodySubscriber<T> | BodySubscriber konsumuje bajty ciała odpowiedzi i konwertuje je w wysokopoziomowe typy Java |
| HttpResponse.PushPromiseHandler<T> | Uchwyt dla obietnic dosłania (push promise) |
| HttpResponse.ResponseInfo | Wstępna informacja o odpowiedzi dostarczana do BodyHandler, gdy odpowiedź zostaje wstępnie przyjęta, a przed przetworzeniem ciała odpowiedzi. |
| WebSocket | Gnizado webowe po stronie klienckiej |
| WebSocket.Builder | Budowniczy do budowania stron klienckich gniazd webowych |
| WebSocket.Listener | Interfejs recepcyjny (nasłuchujący) gniazda webowego |
Klasy pakietu java.net.http
| Klasy | Opis |
|---|---|
| HttpClient | Klient HTTP |
| HttpHeaders | Widok zestawu nagłówków HTTP (tylko do odczytu) |
| HttpRequest | żądanie HTTP |
| HttpRequest.BodyPublishers | Inplementacje klasy BodyPublisher (z Flow API), które implementują różne użyteczne obiekty Publisher, takie jak publikowanie ciała odpowiedzi z obiektu klasy String, czy z pliku. |
| HttpResponse.BodyHandlers | Implementacje BodyHandler, które implementują rózne użyteczne uchwyty, takie jak wychwyt ciała odpowiedzi w postaci obiektu String, czy strumieniowanie ciała odpowiedzi do pliku. |
| HttpResponse.BodySubscribers | Implementacje BodySubscriber (z Flow API), które implementuja rózne użyteczne obiekty Subscriber, takie jak konwersja bajtów ciała odpowiedzi do postaci obiektu String, czy strumieniowanie bajtów do pliku. |
Wyliczenia pakietu java.net.http
| Wyliczenia | Opis |
|---|---|
| HttpClient.Redirect | Definiuje politykę automatycznego przekierowania |
| HttpClient.Version | Określa wersję protokołu HTTP |
Wyjątki pakietu java.net.http
| Wyjątki | Opis |
|---|---|
| HttpConnectTimeoutException | Wyrzucany, gdy połacenie, przez które HTTPRequest ma być przesłany nie zostało (z powodzeniem) ustanowione w podanym okresie czasu |
| HttpTimeoutException | Wyrzucany, gdy odpowiedź nie zotsała odebrana w podanym okresie czasu |
| WebSocketHandshakeException | Wyrzucany w razie niepowodzenia powitalnego uścisku dłoni |
Skrócona informacja o klasach i interfejsach
- Klasa abstrakcyjna HttpClient
- interfejs statyczny HttpClient.Builder
- klasa statyczna (enum) HttpClient.Redirect
- klasa statyczna (enum) HttpClient.Version
- Klasa abstrakcyjna HttpRequest
- statyczny interfejs HttpRequest.BodyPublisher
- klasa statyczna HttpRequest.BodyPublishers (implementuje powyższy interfejs)
- interfejs statyczny Http.Request.Builder
- Klasa HttpHeaders
- Interfejs HttpResponse<T>
- statyczny interfejs HttpResponse.BodyHandler<T>
- klasa statyczna HttpResponse.BodyHandlers (implementuje powyższy interfejs)
- statyczny interfejs HttpResponse.BodySubscriber<T>(rozszerza
Flow.Subscriber<List<ByteBuffer>>) - statyczny interfejs HttpResponse.PushPromiseHandler<T>
- statyczny interfejs HttpResponse.ResponseInfo
- interfejs WebSocket
- statyczny interfejs WebSocket.Builder
- statyczny interfejs WebSocket.Listener
Zajrzyj też Java 11: HTTP Client (Standard)
