Hola, en esta oportunidad les vengo a mostrar como hacer peticiones HTTP con Guzzle en Laravel.
Lo primero que tenemos que hacer es instalar Guzzle en nuestro proyecto:
composerrequireguzzlehttp/guzzle
Una vez instalado podemos usarlo en cualquier parte con la clase http que usa Guzzle, esto importandola con la instruccione use:
useIlluminate\Support\Facades\Http;
En este caso yo lo estoy utilizando para realizar peticiones en el mismo proyecto, y el resultado de la petición poder usarlo en el test
<?phpnamespaceTests\Feature;useIlluminate\Foundation\Testing\RefreshDatabase;useIlluminate\Foundation\Testing\WithFaker;useTests\TestCase;useApp\Models\Product;useIlluminate\Support\Facades\Http;classappServicecsProductServiceTestextendsTestCase{/** * A basic feature test example. * * @return void */publicfunctiontest_create(){$product=Http::post('http://localhost:8000/api/admin/productos',['product_title'=>'producto_de_prueba','product_price'=>'200000','product_content'=>'Este producto es importado de italia','product_photo'=>'imagen.png',]);$this->assertEquals($product->body(),'Product has been created successfully');}}
Estos son los distintos métodos que nos van a permitir acceder al estado de la petición:
$product->body():string;$product->json():array|mixed;$product->collect():Illuminate\Support\Collection;$product->status():int;$product->ok():bool;$product->successful():bool;$product->failed():bool;$product->serverError():bool;$product->clientError():bool;$product->header($header):string;$product->headers():array;
Y como el body de la petición me devuelve:
Producthasbeencreatedsuccessfully
el test pasa:
Para mas información pueden visitar la documentación de Laravel:https://laravel.com/docs/8.x/http-client
Top comments(0)
For further actions, you may consider blocking this person and/orreporting abuse