{"id":52256,"date":"2023-04-28T17:52:14","date_gmt":"2023-04-28T15:52:14","guid":{"rendered":"https:\/\/kinsta.com\/nl\/?p=52256&#038;preview=true&#038;preview_id=52256"},"modified":"2023-05-22T14:19:44","modified_gmt":"2023-05-22T12:19:44","slug":"laravel-http","status":"publish","type":"post","link":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/","title":{"rendered":"Zo gebruik je de ingebouwde Laravel client te gebruiken voor interactie met externe API&#8217;s"},"content":{"rendered":"<p>Laravel maakt API interacties een fluitje van een cent voor zowel nieuwe als ervaren webdevelopers. De Larvel HTTP client is gebouwd bovenop PHP&#8217;s Guzzle HTTP client om developers een soepelere ervaring te geven bij het doen van <a href=\"https:\/\/kinsta.com\/blog\/what-is-an-http-request\/\">HTTP verzoeken<\/a>. De belangrijkste kenmerken zijn authenticatie, routing en effectieve object-relational mapping (ORM).<\/p>\n<p>Dit artikel verkent het gebruik van Laravels HTTP client om verzoeken te doen, antwoorden te debuggen, middleware en macro&#8217;s te maken, en meer.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Laravel HTTP client doet het zware werk voor je voor API&#8217;s<\/h2>\n<p><a href=\"https:\/\/docs.guzzlephp.org\/en\/stable\/\" target=\"_blank\" rel=\"noopener noreferrer\">Guzzle<\/a> is een eenvoudige HTTP client voor PHP. Het biedt functionaliteit voor verschillende formulierverzoeken, waaronder <code>GET<\/code>, <code>POST<\/code>, <code>PUT<\/code>, en <code>DELETE<\/code> naast streamingmogelijkheden en meerdelige verzoeken. De Guzzle HTTP client maakt het versturen van synchrone en asynchrone verzoeken naar de server mogelijk. Verder wordt het ook geleverd met degelijke middleware om het gedrag van de client aan te passen.<\/p>\n<p>De Laravel HTTP client is een wrapper gebouwd op Guzzle, maar met extra functionaliteiten. Het bevat ondersteuning voor het opnieuw proberen van mislukte verzoeken en enkele hulpfuncties met JSON gegevens. De meeste functionaliteiten van Laravel HTTP clients zijn vergelijkbaar met Guzzle.<\/p>\n\n<h2>Voorwaarden<\/h2>\n<p>In de volgende secties leer je meer over de HTTP client van Laravel. Om mee te volgen heb je nodig:<\/p>\n<ul>\n<li>Basiskennis van <a href=\"https:\/\/kinsta.com\/nl\/blog\/laravel-10\/\">Laravel<\/a>, <a href=\"https:\/\/kinsta.com\/php\/\">PHP<\/a> en <a href=\"https:\/\/kinsta.com\/nl\/blog\/performance-api\/\">API&#8217;s<\/a><\/li>\n<li>PHP en Composer ge\u00efnstalleerd<\/li>\n<li>Postman<\/li>\n<\/ul>\n<h2>Verzoeken doen<\/h2>\n<p>Om te begrijpen hoe je een HTTP client gebruikt om een verzoek te doen, kun je veel gehoste API&#8217;s gebruiken, zoals <a href=\"https:\/\/reqres.in\/\" target=\"_blank\" rel=\"noopener noreferrer\">ReqRes<\/a>.<\/p>\n<p>Begin met het importeren van het HTTP pakket dat bij het maken van de applicatie is meegeleverd. Voeg in het bestand <strong>App\/Http\/Controllers\/UserController.php<\/strong> de volgende code toe, te beginnen met het use statement aan het begin van het bestand en de overige code in de indexfunctie.<\/p>\n<pre><code class=\"language-php\">use Illuminate\\Support\\Facades\\Http;\nreturn Http::get(\"https:\/\/reqres.in\/api\/users?page=2\");<\/code><\/pre>\n<p><strong>Opmerking:<\/strong> Voor complexe use cases kun je het verzoek ook met headers versturen door de methode <code>withHeaders<\/code> te gebruiken.<\/p>\n<p>Maak in hetzelfde bestand een nieuwe methode post met onderstaande code:<\/p>\n<pre><code class=\"language-php\">function post()\n{\n    $response = Http::withHeaders([\n        'Content-Type' =&gt; 'application\/json',\n    ])-&gt;post('https:\/\/reqres.in\/api\/users', [\n        'name' =&gt; 'morpheus',\n        'job' =&gt; 'leader',\n    ]);\n    return $response;\n}<\/code><\/pre>\n<p>Voeg er vervolgens een route voor toe binnen het bestand <strong>routes\/web.php<\/strong>:<\/p>\n<pre><code class=\"language-php\">Route::get('post',[UserController::class,'post']);<\/code><\/pre>\n<p>Nu kan Postman gebruikt worden om deze route te testen. Open Postman en voeg <a href=\"http:\/\/127.0.0.1:8000\/post\">http:\/\/127.0.0.1:8000\/post<\/a> toe als URL, met het type verzoek als <code>GET<\/code>. Zodra je op <b>send <\/b>klikt, zie je het volgende antwoord:<\/p>\n<figure style=\"width: 703px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/postman-requests.png\" alt=\"Verzoeken doen met behulp van Postman\" width=\"703\" height=\"519\"><figcaption class=\"wp-caption-text\">Verzoeken doen met behulp van Postman<\/figcaption><\/figure>\n<h2>Parallele verzoeken<\/h2>\n<p>Parallelle verzoeken verbeteren de prestaties aanzienlijk, omdat je meer gegevens kunt ophalen in dezelfde periode. De HTTP client van Laravel maakt het mogelijk om gelijktijdige verzoeken uit te voeren met behulp van de poolmethode.<\/p>\n<p>Voeg binnen <strong>App\/Http\/Controllers\/UserController.php<\/strong> de volgende code toe:<\/p>\n<pre><code class=\"language-php\">use Illuminate\\Http\\Client\\Pool;\nfunction concurrent()\n{\n    $responses = Http::pool(fn (Pool $pool) =&gt; [\n        $pool-&gt;get('https:\/\/reqres.in\/api\/users?page=2'),\n        $pool-&gt;get('https:\/\/reqres.in\/api\/users\/2'),\n        $pool-&gt;get('https:\/\/reqres.in\/api\/users?page=2'),\n    ]);\n\n    return $responses[0]-&gt;ok() &&\n        $responses[1]-&gt;ok() &&\n        $responses[2]-&gt;ok();\n}<\/code><\/pre>\n<p>Voeg vervolgens de ondersteunende route toe binnen het bestand <strong>routes\/web.php<\/strong>.<\/p>\n<pre><code class=\"language-php\">Route::get('concurrent',[UserController::class,'concurrent']);<\/code><\/pre>\n<p>De browser geeft de volgende respons wanneer de route wordt bezocht:<\/p>\n<figure style=\"width: 322px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/concurrent-requests.png\" alt=\"Parallele verzoeken\" width=\"322\" height=\"109\"><figcaption class=\"wp-caption-text\">Parallele verzoeken<\/figcaption><\/figure>\n<h2>Request macro&#8217;s<\/h2>\n<p>Request macro&#8217;s zijn handig bij interactie met veelgebruikte API paden.<\/p>\n<p>Om de macro te maken, moet je hem defini\u00ebren in de bootmethode van het bestand <strong>app\/Http\/Providers\/AppServiceProvider.php<\/strong> met de onderstaande code:<\/p>\n<pre><code class=\"language-php\">use Illuminate\\Support\\Facades\\Http;\nHttp::macro('reqres', function () {\n    return Http::baseUrl('https:\/\/reqres.in\/api');\n});<\/code><\/pre>\n<p><strong>Opmerking:<\/strong> Zorg ervoor dat je het use statement aan het begin van het bestand toevoegt.<\/p>\n<p>Gebruik vervolgens de macro in de <code>UserController<\/code> door de volgende code toe te voegen:<\/p>\n<pre><code class=\"language-php\">function macro()\n{\n    $response = Http::reqres()-&gt;get('\/users?page=2');\n    return $response;\n}<\/code><\/pre>\n<p>Zoals je ziet, hoef je de volledige URL niet opnieuw toe te voegen, omdat de macro al wordt aangemaakt,<\/p>\n<p>Voeg ten slotte een route toe in het bestand<strong> routes\/web.php<\/strong> met de onderstaande code:<\/p>\n<pre><code class=\"language-php\">Route::get('macro',[UserController::class,'macro']);<\/code><\/pre>\n<figure style=\"width: 442px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/macro-requests.png\" alt=\"Macro verzoek\" width=\"442\" height=\"169\"><figcaption class=\"wp-caption-text\">Macro verzoek<\/figcaption><\/figure>\n<h2>Responses decoderen<\/h2>\n<p>Om een respons te decoderen en ervoor te zorgen dat een API verzoek succesvol is, gebruik je de statusmethode die in de client is opgenomen. Deze methode krijgt de statuscode die van de server wordt verzonden en geeft die weer.<\/p>\n<p>Om dit te testen vervang je de vorige macrocode door onderstaande code binnen het <strong>App\/Http\/Controllers\/UserController.php<\/strong> bestand:<\/p>\n<pre><code class=\"language-php\">function macro()\n{\n    $response = Http::reqres()-&gt;get('\/users?page=2');\n    return $response-&gt;status();\n}<\/code><\/pre>\n<p>Hier betekent de statuscode 200 dat het verzoek succesvol was.<\/p>\n<figure style=\"width: 296px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/successful-decoding-response.png\" alt=\"Succesvolle decoding respons\" width=\"296\" height=\"105\"><figcaption class=\"wp-caption-text\">Succesvolle decoding respons<\/figcaption><\/figure>\n<h2>Zo test je JSON API&#8217;s<\/h2>\n<p>Laravel heeft verschillende helpers om de JSON API&#8217;s en hun responses te testen. De <a href=\"https:\/\/laravel.com\/docs\/9.x\/http-tests\">helper functies<\/a> zijn onder andere <strong>json<\/strong>, <strong>getJson<\/strong>, <strong>postJson<\/strong>, <strong>putJson<\/strong>, <strong>patchJson<\/strong>, <strong>deleteJson<\/strong>, enzovoort.<\/p>\n<p>Om het testen beter te begrijpen, maak je een testscenario voor de route van de <code>GET<\/code> gebruiker. Wanneer je de Laravel applicatie bootstrapt, is de <em>Example Test<\/em> al aangemaakt. Vervang binnen het bestand <strong>Tests\/Feature\/ExampleTest.php<\/strong> de bestaande code door het volgende:<\/p>\n<pre><code class=\"language-php\">&lt;?php\nnamespace Tests\\Feature;\nuse Illuminate\\Foundation\\Testing\\RefreshDatabase;\nuse Tests\\TestCase;\nclass ExampleTest extends TestCase\n{\n    \/**\n     * A basic test example.\n     *\n     * @return void\n     *\/\n    public function test_example()\n    {\n        $response = $this-&gt;getJson('\/users');\n\n        $response-&gt;assertStatus(200);\n    }\n}<\/code><\/pre>\n<p>De toegevoegde code haalt de JSON gegevens op bij de route van de gebruiker en controleert of de statuscode 200 is of niet.<\/p>\n<p>Zodra je de testcode hebt toegevoegd, voer je in je terminal het volgende commando uit om de tests uit te voeren:<\/p>\n<pre><code class=\"language-bash\">.\/vendor\/bin\/phpunit<\/code><\/pre>\n<p>Als de tests zijn voltooid, zie je dat het twee tests uitvoerde, die beide succesvol waren.<\/p>\n<figure style=\"width: 784px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/testing-json-api.png\" alt=\"JSON API's testen\" width=\"784\" height=\"172\"><figcaption class=\"wp-caption-text\">JSON API&#8217;s testen<\/figcaption><\/figure>\n<p>Op dezelfde manier kun je controleren op verschillende soorten verzoeken en andere helper methoden gebruiken voor meer verfijnde tests.<\/p>\n<h2>Zo deal je met events<\/h2>\n<p>Laravel biedt drie events om af te vuren bij <a href=\"https:\/\/kinsta.com\/blog\/what-is-an-http-request\/\">HTTP verzoeken<\/a>.<\/p>\n<ul>\n<li><strong>RequestSending<\/strong>, dat is voordat het verzoek wordt verzonden.<\/li>\n<li><strong>ResponseReceived<\/strong>, wanneer een antwoord wordt ontvangen.<\/li>\n<li><strong>ConnectionFailed<\/strong>, als er geen antwoord is ontvangen.<\/li>\n<\/ul>\n<p>Alle drie de events bevatten de property <code>$request<\/code> om de instantie <code>Illuminate\\Http\\Client\\Request<\/code>\u00a0te inspecteren, en <code>ResponseReceived<\/code> heeft een extra <code>$response property<\/code>. Deze zijn vooral nuttig voor het uitvoeren van acties na een event. Je zou bijvoorbeeld kunnen mailen na het krijgen van een succesvolle respons.<\/p>\n<p>Om een event en listener te maken, navigeer je naar het bestand <strong>app\/Providers\/EventServiceProvider.php<\/strong> en vervang je de listen array door de volgende code.<\/p>\n<pre><code class=\"language-php\">protected $listen = [\n    Registered::class =&gt; [\n        SendEmailVerificationNotification::class,\n    ],\n    'Illuminate\\Http\\Client\\Events\\ResponseReceived' =&gt; [\n        'App\\Listeners\\LogResponseReceived',\n    ],\n];<\/code><\/pre>\n<p>Voer nu het volgende commando uit in je terminal:<\/p>\n<pre><code class=\"language-bash\">php artisan event:generate<\/code><\/pre>\n<p>Het bovenstaande commando zal de luisteraar <strong>app\/Listeners\/LogResponseReceived.php<\/strong> aanmaken. Vervang de code van dat bestand door onderstaande code:<\/p>\n<pre><code class=\"language-php\">&lt;?php\nnamespace App\\Listeners;\nuse Illuminate\\Http\\Client\\Events\\ResponseReceived;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Http\\Response;\nuse Illuminate\\Support\\Facades\\Log;\nclass LogResponseReceived\n{\n    \/**\n     * Create the event listener.\n     *\n     * @return void\n     *\/\n    public function __construct(Request $request, Response $response)\n    {\n        Log::channel('stderr')-&gt;info($response-&gt;status());\n    }\n\n    \/**\n     * Handle the event.\n     *\n     * @param  \\Illuminate\\Http\\Client\\Events\\ResponseReceived  $event\n     * @return void\n     *\/\n    public function handle(ResponseReceived $event)\n    {\n        \n    }\n}<\/code><\/pre>\n<p>De info log van de statuscode wordt nu getoond in de terminal.<\/p>\n<figure style=\"width: 613px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/terminal-codes.png\" alt=\"Terminallogs die de statuscode tonen\" width=\"613\" height=\"111\"><figcaption class=\"wp-caption-text\">Terminallogs die de statuscode tonen<\/figcaption><\/figure>\n\n<h2>Samenvatting<\/h2>\n<p>Of een website of webapplicatie nu gemaakt is door een organisatie of een onafhankelijke developer, API&#8217;s zijn de sleutel tot het succes ervan. Het gebruik ervan kan echter moeilijk zijn.<\/p>\n<p>Veel <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-frameworks\/\">frameworks<\/a> en <a href=\"https:\/\/kinsta.com\/nl\/blog\/javascript-bibliotheken\/\">bibliotheken<\/a> beloven dit proces te vereenvoudigen, maar Laravel onderscheidt zich door zijn focus op eenvoud en gebruiksgemak. Hun ingebouwde client ondersteunt eenvoudige API calls, gelijktijdige API calls, API-macro&#8217;s, helper-methoden voor JSON gebaseerde API&#8217;s, en meer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Laravel maakt API interacties een fluitje van een cent voor zowel nieuwe als ervaren webdevelopers. De Larvel HTTP client is gebouwd bovenop PHP&#8217;s Guzzle HTTP client &#8230;<\/p>\n","protected":false},"author":259,"featured_media":52257,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[866],"class_list":["post-52256","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-laravel"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Zo gebruik je de ingebouwde Laravel client te gebruiken voor interactie met externe API&#039;s - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Verdiep je met ons in het gebruik van de Laravel HTTP client om verzoeken te doen, antwoorden te debuggen, middleware en macro&#039;s te maken, en meer.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zo gebruik je de ingebouwde Laravel client te gebruiken voor interactie met externe API&#039;s\" \/>\n<meta property=\"og:description\" content=\"Verdiep je met ons in het gebruik van de Laravel HTTP client om verzoeken te doen, antwoorden te debuggen, middleware en macro&#039;s te maken, en meer.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-28T15:52:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-22T12:19:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/04\/laravel-http.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3042\" \/>\n\t<meta property=\"og:image:height\" content=\"1521\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Steve Bonisteel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Verdiep je met ons in het gebruik van de Laravel HTTP client om verzoeken te doen, antwoorden te debuggen, middleware en macro&#039;s te maken, en meer.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/04\/laravel-http.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve Bonisteel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/\"},\"author\":{\"name\":\"Steve Bonisteel\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\"},\"headline\":\"Zo gebruik je de ingebouwde Laravel client te gebruiken voor interactie met externe API&#8217;s\",\"datePublished\":\"2023-04-28T15:52:14+00:00\",\"dateModified\":\"2023-05-22T12:19:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/\"},\"wordCount\":1115,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/04\/laravel-http.jpg\",\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/\",\"name\":\"Zo gebruik je de ingebouwde Laravel client te gebruiken voor interactie met externe API's - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/04\/laravel-http.jpg\",\"datePublished\":\"2023-04-28T15:52:14+00:00\",\"dateModified\":\"2023-05-22T12:19:44+00:00\",\"description\":\"Verdiep je met ons in het gebruik van de Laravel HTTP client om verzoeken te doen, antwoorden te debuggen, middleware en macro's te maken, en meer.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/04\/laravel-http.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/04\/laravel-http.jpg\",\"width\":3042,\"height\":1521},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel\",\"item\":\"https:\/\/kinsta.com\/nl\/onderwerpen\/laravel\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Zo gebruik je de ingebouwde Laravel client te gebruiken voor interactie met externe API&#8217;s\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/nl\/#website\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snelle, veilige, premium hostingoplossingen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/nl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\",\"https:\/\/x.com\/Kinsta_NL\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\",\"name\":\"Steve Bonisteel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"caption\":\"Steve Bonisteel\"},\"description\":\"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/author\/stevebonisteel\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Zo gebruik je de ingebouwde Laravel client te gebruiken voor interactie met externe API's - Kinsta\u00ae","description":"Verdiep je met ons in het gebruik van de Laravel HTTP client om verzoeken te doen, antwoorden te debuggen, middleware en macro's te maken, en meer.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/","og_locale":"nl_NL","og_type":"article","og_title":"Zo gebruik je de ingebouwde Laravel client te gebruiken voor interactie met externe API's","og_description":"Verdiep je met ons in het gebruik van de Laravel HTTP client om verzoeken te doen, antwoorden te debuggen, middleware en macro's te maken, en meer.","og_url":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","article_published_time":"2023-04-28T15:52:14+00:00","article_modified_time":"2023-05-22T12:19:44+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/04\/laravel-http.jpg","type":"image\/jpeg"}],"author":"Steve Bonisteel","twitter_card":"summary_large_image","twitter_description":"Verdiep je met ons in het gebruik van de Laravel HTTP client om verzoeken te doen, antwoorden te debuggen, middleware en macro's te maken, en meer.","twitter_image":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/04\/laravel-http.jpg","twitter_creator":"@Kinsta_NL","twitter_site":"@Kinsta_NL","twitter_misc":{"Geschreven door":"Steve Bonisteel","Geschatte leestijd":"7 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/"},"author":{"name":"Steve Bonisteel","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f"},"headline":"Zo gebruik je de ingebouwde Laravel client te gebruiken voor interactie met externe API&#8217;s","datePublished":"2023-04-28T15:52:14+00:00","dateModified":"2023-05-22T12:19:44+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/"},"wordCount":1115,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/04\/laravel-http.jpg","inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/","url":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/","name":"Zo gebruik je de ingebouwde Laravel client te gebruiken voor interactie met externe API's - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/04\/laravel-http.jpg","datePublished":"2023-04-28T15:52:14+00:00","dateModified":"2023-05-22T12:19:44+00:00","description":"Verdiep je met ons in het gebruik van de Laravel HTTP client om verzoeken te doen, antwoorden te debuggen, middleware en macro's te maken, en meer.","breadcrumb":{"@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/nl\/blog\/laravel-http\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#primaryimage","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/04\/laravel-http.jpg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/04\/laravel-http.jpg","width":3042,"height":1521},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-http\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/nl\/"},{"@type":"ListItem","position":2,"name":"Laravel","item":"https:\/\/kinsta.com\/nl\/onderwerpen\/laravel\/"},{"@type":"ListItem","position":3,"name":"Zo gebruik je de ingebouwde Laravel client te gebruiken voor interactie met externe API&#8217;s"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/nl\/#website","url":"https:\/\/kinsta.com\/nl\/","name":"Kinsta\u00ae","description":"Snelle, veilige, premium hostingoplossingen","publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/nl\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/nl\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","https:\/\/x.com\/Kinsta_NL","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f","name":"Steve Bonisteel","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","caption":"Steve Bonisteel"},"description":"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.","url":"https:\/\/kinsta.com\/nl\/blog\/author\/stevebonisteel\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/52256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/users\/259"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/comments?post=52256"}],"version-history":[{"count":9,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/52256\/revisions"}],"predecessor-version":[{"id":52396,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/52256\/revisions\/52396"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52256\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52256\/translations\/it"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52256\/translations\/fr"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52256\/translations\/pt"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52256\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52256\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52256\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52256\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52256\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52256\/translations\/dk"},{"href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52256\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media\/52257"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media?parent=52256"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/tags?post=52256"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/topic?post=52256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}