{"id":233,"date":"2024-02-02T23:37:07","date_gmt":"2024-02-02T22:37:07","guid":{"rendered":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/?p=233"},"modified":"2024-02-23T23:40:45","modified_gmt":"2024-02-23T22:40:45","slug":"post-http-requests-mit-dem-java-httpclient","status":"publish","type":"post","link":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/?p=233","title":{"rendered":"POST-HTTP-Requests mit dem Java HttpClient"},"content":{"rendered":"\n<p>Das Senden von HTTP-POST-Requests ist eine grundlegende Funktion in der Programmierung, insbesondere wenn es um die Kommunikation zwischen Client und Server geht. In Java bietet die <code>HttpClient<\/code>-Klasse eine leistungsstarke M\u00f6glichkeit, solche Anfragen zu erstellen und zu senden. In diesem Artikel werden wir uns ausf\u00fchrlich mit dem Senden von POST-HTTP-Requests mit dem Java <code>HttpClient<\/code> befassen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Einf\u00fchrung in den Java HttpClient<\/h2>\n\n\n\n<p>Der <code>HttpClient<\/code> ist eine Klasse, die in Java 11 und sp\u00e4teren Versionen eingef\u00fchrt wurde. Sie ersetzt die veraltete <code>HttpURLConnection<\/code> und bietet eine modernere und benutzerfreundlichere API f\u00fcr die Arbeit mit HTTP-Anfragen und -Antworten. Der <code>HttpClient<\/code> unterst\u00fctzt verschiedene HTTP-Methoden, darunter auch POST.<\/p>\n\n\n\n<p>Bevor wir uns jedoch mit dem Senden von POST-Anfragen befassen, m\u00fcssen wir sicherstellen, dass wir die richtigen Abh\u00e4ngigkeiten in unserem Projekt haben. Wenn Sie Maven verwenden, k\u00f6nnen Sie die folgende Abh\u00e4ngigkeit zu Ihrer <code>pom.xml<\/code>-Datei hinzuf\u00fcgen:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>org.apache.httpcomponents.client5<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>httpclient5<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">version<\/span>&gt;<\/span>5.0<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">version<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">dependency<\/span>&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Alternativ k\u00f6nnen Sie JAR-Dateien herunterladen und sie zu Ihrem Projekt hinzuf\u00fcgen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Grundlegende POST-Anfrage erstellen<\/h2>\n\n\n\n<p>Um mit dem <code>HttpClient<\/code> eine POST-Anfrage zu erstellen, m\u00fcssen Sie zun\u00e4chst eine Instanz von <code>HttpClient<\/code> erstellen. Dies kann \u00fcber den <code>HttpClient.newHttpClient()<\/code>-Aufruf erfolgen:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">import<\/span> java.net.URI;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpClient;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpRequest;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpResponse;\n\npublic <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">HttpPostExample<\/span> <\/span>{\n\n    public <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> main(<span class=\"hljs-built_in\">String<\/span>&#91;] args) {\n        <span class=\"hljs-comment\">\/\/ Erstelle einen HttpClient<\/span>\n        HttpClient httpClient = HttpClient.newHttpClient();\n\n        <span class=\"hljs-comment\">\/\/ Definiere die URL, zu der die POST-Anfrage gesendet werden soll<\/span>\n        URI uri = URI.create(<span class=\"hljs-string\">\"https:\/\/example.com\/api\/endpoint\"<\/span>);\n\n        <span class=\"hljs-comment\">\/\/ Erstelle einen HttpRequest mit der POST-Methode<\/span>\n        HttpRequest request = HttpRequest.newBuilder()\n                .uri(uri)\n                .header(<span class=\"hljs-string\">\"Content-Type\"<\/span>, <span class=\"hljs-string\">\"application\/json\"<\/span>) <span class=\"hljs-comment\">\/\/ Setze den Content-Type Header<\/span>\n                .POST(HttpRequest.BodyPublishers.ofString(<span class=\"hljs-string\">\"{'key':'value'}\"<\/span>)) <span class=\"hljs-comment\">\/\/ Setze den Anfrage-Body<\/span>\n                .build();\n\n        <span class=\"hljs-comment\">\/\/ Sende die POST-Anfrage und erhalte die Antwort<\/span>\n        <span class=\"hljs-keyword\">try<\/span> {\n            HttpResponse&lt;<span class=\"hljs-built_in\">String<\/span>&gt; response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n            <span class=\"hljs-comment\">\/\/ Verarbeite die Antwort<\/span>\n            System.out.println(<span class=\"hljs-string\">\"Status Code: \"<\/span> + response.statusCode());\n            System.out.println(<span class=\"hljs-string\">\"Response Body: \"<\/span> + response.body());\n        } <span class=\"hljs-keyword\">catch<\/span> (Exception e) {\n            e.printStackTrace();\n        }\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In diesem Beispiel wird eine einfache POST-Anfrage an die angegebene URL gesendet. Der Content-Type-Header wird auf &#8222;application\/json&#8220; gesetzt, und der Anfrage-Body enth\u00e4lt JSON-Daten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hinzuf\u00fcgen von Anfrageparametern<\/h2>\n\n\n\n<p>Oftmals m\u00fcssen POST-Anfragen zus\u00e4tzliche Parameter enthalten. Dies kann durch Hinzuf\u00fcgen von Parametern zum Anfrage-Body erreicht werden. Hier ist ein Beispiel:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">import<\/span> java.net.URI;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpClient;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpRequest;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpResponse;\n<span class=\"hljs-keyword\">import<\/span> java.net.URLEncoder;\n<span class=\"hljs-keyword\">import<\/span> java.nio.charset.StandardCharsets;\n\npublic <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">HttpPostWithParameters<\/span> <\/span>{\n\n    public <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> main(<span class=\"hljs-built_in\">String<\/span>&#91;] args) {\n        HttpClient httpClient = HttpClient.newHttpClient();\n        URI uri = URI.create(<span class=\"hljs-string\">\"https:\/\/example.com\/api\/endpoint\"<\/span>);\n\n        <span class=\"hljs-comment\">\/\/ Erstelle einen Anfrage-Body mit Parametern<\/span>\n        <span class=\"hljs-built_in\">String<\/span> requestBody = <span class=\"hljs-string\">\"param1=\"<\/span> + URLEncoder.encode(<span class=\"hljs-string\">\"value1\"<\/span>, StandardCharsets.UTF_8)\n                + <span class=\"hljs-string\">\"&amp;param2=\"<\/span> + URLEncoder.encode(<span class=\"hljs-string\">\"value2\"<\/span>, StandardCharsets.UTF_8);\n\n        HttpRequest request = HttpRequest.newBuilder()\n                .uri(uri)\n                .header(<span class=\"hljs-string\">\"Content-Type\"<\/span>, <span class=\"hljs-string\">\"application\/x-www-form-urlencoded\"<\/span>)\n                .POST(HttpRequest.BodyPublishers.ofString(requestBody))\n                .build();\n\n        <span class=\"hljs-keyword\">try<\/span> {\n            HttpResponse&lt;<span class=\"hljs-built_in\">String<\/span>&gt; response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n            System.out.println(<span class=\"hljs-string\">\"Status Code: \"<\/span> + response.statusCode());\n            System.out.println(<span class=\"hljs-string\">\"Response Body: \"<\/span> + response.body());\n        } <span class=\"hljs-keyword\">catch<\/span> (Exception e) {\n            e.printStackTrace();\n        }\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In diesem Beispiel werden Anfrageparameter zum Anfrage-Body hinzugef\u00fcgt. Der Content-Type-Header wird auf &#8222;application\/x-www-form-urlencoded&#8220; gesetzt, da dies der Standard f\u00fcr das Codieren von Formulardaten ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verwendung von JSON im Anfrage-Body<\/h2>\n\n\n\n<p>Wenn Sie JSON-Daten im Anfrage-Body senden m\u00fcssen, k\u00f6nnen Sie dies einfach tun, indem Sie den Content-Type-Header auf &#8222;application\/json&#8220; setzen und den entsprechenden JSON-String im Anfrage-Body platzieren. Hier ist ein Beispiel:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">import<\/span> java.net.URI;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpClient;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpRequest;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpResponse;\n\npublic <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">HttpPostWithJsonBody<\/span> <\/span>{\n\n    public <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> main(<span class=\"hljs-built_in\">String<\/span>&#91;] args) {\n        HttpClient httpClient = HttpClient.newHttpClient();\n        URI uri = URI.create(<span class=\"hljs-string\">\"https:\/\/example.com\/api\/endpoint\"<\/span>);\n\n        <span class=\"hljs-comment\">\/\/ Erstelle einen JSON-String f\u00fcr den Anfrage-Body<\/span>\n        <span class=\"hljs-built_in\">String<\/span> jsonBody = <span class=\"hljs-string\">\"{\\\"key1\\\":\\\"value1\\\",\\\"key2\\\":\\\"value2\\\"}\"<\/span>;\n\n        HttpRequest request = HttpRequest.newBuilder()\n                .uri(uri)\n                .header(<span class=\"hljs-string\">\"Content-Type\"<\/span>, <span class=\"hljs-string\">\"application\/json\"<\/span>)\n                .POST(HttpRequest.BodyPublishers.ofString(jsonBody))\n                .build();\n\n        <span class=\"hljs-keyword\">try<\/span> {\n            HttpResponse&lt;<span class=\"hljs-built_in\">String<\/span>&gt; response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n            System.out.println(<span class=\"hljs-string\">\"Status Code: \"<\/span> + response.statusCode());\n            System.out.println(<span class=\"hljs-string\">\"Response Body: \"<\/span> + response.body());\n        } <span class=\"hljs-keyword\">catch<\/span> (Exception e) {\n            e.printStackTrace();\n        }\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In diesem Beispiel wird ein JSON-String als Anfrage-Body verwendet. Stellen Sie sicher, dass der Content-Type-Header auf &#8222;application\/json&#8220; gesetzt ist, damit der Server den Anfrage-Body korrekt interpretieren kann.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hinzuf\u00fcgen von Benutzerauthentifizierung<\/h2>\n\n\n\n<p>F\u00fcr den Fall, dass der Server Benutzerauthentifizierung erfordert, k\u00f6nnen Sie diese Informationen einfach zur Anfrage hinzuf\u00fcgen. Hier ist ein Beispiel mit Basic Authentication:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">import<\/span> java.net.URI;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpClient;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpRequest;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpResponse;\n<span class=\"hljs-keyword\">import<\/span> java.nio.charset.StandardCharsets;\n<span class=\"hljs-keyword\">import<\/span> java.util.Base64;\n\npublic <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">HttpPostWithAuthentication<\/span> <\/span>{\n\n    public <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> main(<span class=\"hljs-built_in\">String<\/span>&#91;] args) {\n        HttpClient httpClient = HttpClient.newHttpClient();\n        URI uri = URI.create(<span class=\"hljs-string\">\"https:\/\/example.com\/api\/endpoint\"<\/span>);\n\n        <span class=\"hljs-comment\">\/\/ Benutzername und Passwort f\u00fcr die Basic Authentication<\/span>\n        <span class=\"hljs-built_in\">String<\/span> username = <span class=\"hljs-string\">\"yourUsername\"<\/span>;\n        <span class=\"hljs-built_in\">String<\/span> password = <span class=\"hljs-string\">\"yourPassword\"<\/span>;\n\n        <span class=\"hljs-comment\">\/\/ Erstelle den Basic Authentication Header<\/span>\n        <span class=\"hljs-built_in\">String<\/span> auth = username + <span class=\"hljs-string\">\":\"<\/span> + password;\n        <span class=\"hljs-built_in\">String<\/span> encodedAuth = Base64.getEncoder().encodeToString(auth.getBytes(StandardCharsets.UTF_8));\n        <span class=\"hljs-built_in\">String<\/span> authHeader = <span class=\"hljs-string\">\"Basic \"<\/span> + encodedAuth;\n\n        <span class=\"hljs-comment\">\/\/ Erstelle die POST-Anfrage mit Basic Authentication<\/span>\n        HttpRequest request = HttpRequest.newBuilder()\n                .uri(uri)\n                .header(<span class=\"hljs-string\">\"Content-Type\"<\/span>, <span class=\"hljs-string\">\"application\/json\"<\/span>)\n                .header(<span class=\"hljs-string\">\"Authorization\"<\/span>, authHeader)\n                .POST(HttpRequest.BodyPublishers.ofString(<span class=\"hljs-string\">\"{\\\"key\\\":\\\"value\\\"}\"<\/span>))\n                .build();\n\n        <span class=\"hljs-keyword\">try<\/span> {\n            HttpResponse&lt;<span class=\"hljs-built_in\">String<\/span>&gt; response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n            System.out.println(<span class=\"hljs-string\">\"Status Code: \"<\/span> + response.statusCode());\n            System.out.println(<span class=\"hljs-string\">\"Response Body: \"<\/span> + response.body());\n        } <span class=\"hljs-keyword\">catch<\/span> (Exception e) {\n            e.printStackTrace();\n        }\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In diesem Beispiel wird der Basic Authentication Header manuell erstellt und zur Anfrage hinzugef\u00fcgt. Beachten Sie, dass Benutzernamen und Passw\u00f6rter in einer sicheren Umgebung gespeichert oder \u00fcber sicherere Methoden \u00fcbertragen werden sollten, wenn Sie in einer produktiven Umgebung arbeiten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verwendung von Asynchronit\u00e4t<\/h2>\n\n\n\n<p>Die <code>HttpClient<\/code>-Klasse unterst\u00fctzt auch asynchrone Anfragen, die n\u00fctzlich sein k\u00f6nnen, um die Leistung zu verbessern, wenn viele Anfragen gleichzeitig gesendet werden m\u00fcssen. Hier ist ein einfaches Beispiel:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">import<\/span> java.net.URI;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpClient;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpRequest;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpResponse;\n\npublic <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">HttpPostAsyncExample<\/span> <\/span>{\n\n    public <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> main(<span class=\"hljs-built_in\">String<\/span>&#91;] args) {\n        HttpClient httpClient = HttpClient.newHttpClient();\n        URI uri = URI.create(<span class=\"hljs-string\">\"https:\/\/example.com\/api\/endpoint\"<\/span>);\n\n        <span class=\"hljs-comment\">\/\/ Erstelle eine POST-Anfrage<\/span>\n        HttpRequest request = HttpRequest.newBuilder()\n                .uri(uri)\n                .header(<span class=\"hljs-string\">\"Content-Type\"<\/span>, <span class=\"hljs-string\">\"application\/json\"<\/span>)\n                .POST(HttpRequest.BodyPublishers.ofString(<span class=\"hljs-string\">\"{\\\"key\\\":\\\"value\\\"}\"<\/span>))\n                .build();\n\n        <span class=\"hljs-comment\">\/\/ Sende die Anfrage asynchron<\/span>\n        httpClient.sendAsync(request, HttpResponse.BodyHandlers.ofString())\n                .thenApply(response -&gt; {\n                    System.out.println(<span class=\"hljs-string\">\"Status Code: \"<\/span> + response.statusCode());\n                    System.out.println(<span class=\"hljs-string\">\"Response Body: \"<\/span> + response.body());\n                    <span class=\"hljs-keyword\">return<\/span> response;\n                })\n                .join(); <span class=\"hljs-comment\">\/\/ Warte auf Abschluss der asynchronen Anfrage<\/span>\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In diesem Beispiel wird die <code>sendAsync<\/code>-Methode verwendet, die eine CompletableFuture zur\u00fcckgibt. Sie k\u00f6nnen dann asynchrone Operationen mit <code>thenApply<\/code> oder anderen Methoden der CompletableFuture-API durchf\u00fchren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fehlerbehandlung<\/h2>\n\n\n\n<p>Es ist wichtig, auch auf m\u00f6gliche Fehler w\u00e4hrend des HTTP-Anfrageprozesses vorbereitet zu sein. Hier ist ein Beispiel f\u00fcr die Fehlerbehandlung:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">import<\/span> java.net.URI;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpClient;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpRequest;\n<span class=\"hljs-keyword\">import<\/span> java.net.http.HttpResponse;\n\npublic <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">HttpPostWithErrorHandling<\/span> <\/span>{\n\n    public <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> main(<span class=\"hljs-built_in\">String<\/span>&#91;] args) {\n        HttpClient httpClient = HttpClient.newHttpClient();\n        URI uri = URI.create(<span class=\"hljs-string\">\"https:\/\/example.com\/api\/endpoint\"<\/span>);\n\n        <span class=\"hljs-comment\">\/\/ Erstelle eine POST-Anfrage<\/span>\n        HttpRequest request = HttpRequest.newBuilder()\n                .uri(uri)\n                .header(<span class=\"hljs-string\">\"Content-Type\"<\/span>, <span class=\"hljs-string\">\"application\/json\"<\/span>)\n                .POST(HttpRequest.BodyPublishers.ofString(<span class=\"hljs-string\">\"{\\\"key\\\":\\\"value\\\"}\"<\/span>))\n                .build();\n\n        <span class=\"hljs-keyword\">try<\/span> {\n            HttpResponse&lt;<span class=\"hljs-built_in\">String<\/span>&gt; response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n            <span class=\"hljs-comment\">\/\/ \u00dcberpr\u00fcfe den Statuscode der Antwort<\/span>\n            <span class=\"hljs-keyword\">if<\/span> (response.statusCode() == <span class=\"hljs-number\">200<\/span>) {\n                System.out.println(<span class=\"hljs-string\">\"Erfolgreiche Anfrage. Response Body: \"<\/span> + response.body());\n            } <span class=\"hljs-keyword\">else<\/span> {\n                System.out.println(<span class=\"hljs-string\">\"Fehlerhafte Anfrage. Status Code: \"<\/span> + response.statusCode());\n            }\n        } <span class=\"hljs-keyword\">catch<\/span> (Exception e) {\n            e.printStackTrace();\n        }\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Hier wird \u00fcberpr\u00fcft, ob der Statuscode der Antwort 200 ist. Wenn nicht, wird angenommen, dass die Anfrage fehlgeschlagen ist. In einer produktiven Umgebung sollten Sie diese \u00dcberpr\u00fcfung m\u00f6glicherweise anpassen, um spezifischere Fehlerinformationen zu erhalten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zusammenfassung<\/h2>\n\n\n\n<p>In diesem Artikel haben wir uns ausf\u00fchrlich mit dem Senden von POST-HTTP-Requests mit dem Java <code>HttpClient<\/code> befasst. Wir haben grundlegende POST-Anfragen, das Hinzuf\u00fcgen von Anfrageparametern, die Verwendung von JSON im Anfrage-Body, die Authentifizierung und asynchrone Anfragen behandelt. Es ist wichtig zu beachten, dass die genaue Implementierung je nach den Anforderungen Ihres Projekts variieren kann. Der <code>HttpClient<\/code> bietet eine flexible API, mit der Sie HTTP-Anfragen auf vielf\u00e4ltige Weise anpassen k\u00f6nnen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Senden von HTTP-POST-Requests ist eine grundlegende Funktion in der Programmierung, insbesondere wenn es um die Kommunikation zwischen Client und Server geht. In Java bietet die HttpClient-Klasse eine leistungsstarke M\u00f6glichkeit, solche Anfragen zu erstellen und zu senden. In diesem Artikel werden wir uns ausf\u00fchrlich mit dem Senden von POST-HTTP-Requests mit dem Java HttpClient befassen. Einf\u00fchrung [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-233","post","type-post","status-publish","format-standard","hentry","category-plain_java"],"_links":{"self":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/233","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=233"}],"version-history":[{"count":1,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/233\/revisions"}],"predecessor-version":[{"id":234,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/233\/revisions\/234"}],"wp:attachment":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=233"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=233"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}