Transforma los datos de respuesta HTTP con el método fluent de Laravel

  • Publicado el 17 enero, 2025
  • Palabras: 38

Transforma los datos de respuesta HTTP sin esfuerzo con el nuevo método fluent() de Laravel. Esta incorporación al cliente HTTP te da acceso seguro a las respuestas de su API.

Transforma los datos de respuesta HTTP con el método fluent de Laravel

#Uso básico

Convierta sus respuestas HTTP en instancias fluidas:

 

use Illuminate\Support\Facades\Http;

$response = Http::get('https://api.example.com/products/1')->fluent();

$price = $response->float('price');           // 420.69
$colors = $response->collect('colors');       // Collection(['red', 'blue'])
$onSale = $response->boolean('on_sale');      // true
$stock = $response->integer('current_stock'); // 69

 

#Ejemplo práctico

A continuación te indicamos cómo puedes utilizarlo en un servicio de producto:

 

class ExternalProductService
{
    public function fetchProductDetails(string $productId)
    {
        $response = Http::get("https://api.example.com/products/{$productId}")
            ->throw()
            ->fluent();

        return new ProductDetails([
            'price' => $response->float('price'),
            'stock_level' => $response->integer('current_stock'),
            'is_available' => $response->boolean('in_stock'),
            'variants' => $response->collect('variants')->map(function ($variant) {
                return [
                    'sku' => $variant['sku'],
                    'quantity' => (int) $variant['quantity'],
                    'price' => (float) $variant['price']
                ];
            }),
            'metadata' => $response->collect('metadata')->toArray(),
            'last_updated' => $response->date('updated_at')
        ]);
    }

    public function updateInventory(string $productId, int $quantity)
    {
        $response = Http::put("https://api.example.com/inventory/{$productId}", [
            'quantity' => $quantity
        ])->fluent();

        return [
            'success' => $response->boolean('success'),
            'new_quantity' => $response->integer('current_stock'),
            'timestamp' => $response->date('processed_at')
        ];
    }
}

 

El método fluent() proporciona una forma limpia y segura de trabajar con datos de respuesta de API.

Antonio Jenaro
Antonio Jenaro

Web Developer

Archivado en:

Fuente: Harris Raftopoulos

Artículos relacionados

Manejo fluido de arrays en Laravel, el helper fluent
486

Manejo fluido de arrays en Laravel, el helper fluent

Gestión de atributos anidados con el método set de la clase Fluent de Laravel
571

Gestión de atributos anidados con el método set de la clase Fluent de Laravel

Inicia la conversación

Hazte miembro de Antonio Jenaro para comenzar a comentar.

Regístrate ahora

¿Ya estás registrado? Inicia sesión