guzzlehttp/guzzle-services
Guzzle Services adds a command layer on top of Guzzle using service descriptions to define operations, serialize requests, and parse responses into convenient model structures. Build typed clients from descriptions, call operations as methods, and get structured results.
PaymentService::processRefund() instead of raw Guzzle calls). The service description format (YAML/JSON) now aligns better with modern API design tools (e.g., OpenAPI/Swagger).guzzlehttp/command) is now explicitly required, reinforcing Laravel’s Artisan ecosystem for CLI-driven API interactions (e.g., php artisan api:test stripe --verbose). This is critical for debugging, monitoring, and CI/CD pipelines.guzzlehttp/uri-template) improve compatibility with OpenAPI 3.x, making it easier to generate service descriptions from specs or validate against schemas. Plugins like gimler/guzzle-description-loader remain viable for seamless integration with Laravel’s API tooling (e.g., darkaonline/l5-swagger).Illuminate\Http\Client), which uses Guzzle under the hood. This enables zero-config integration for most Laravel 9+ applications.App\Services\StripeService injected into controllers). The package’s explicit trim characters fix (for PHP 8.6) reduces edge-case bugs in request/response handling.guzzlehttp/uri-template) now enables dynamic path/query parameters (e.g., /users/{id}) with stricter validation.guzzlehttp/guzzle-services:0.6 (Guzzle 5 compatibility) or upgrade to Laravel 9+.trim() behavior is explicitly configured in service descriptions.guzzlehttp/uri-template) reduces boilerplate for dynamic endpoints.config/api_descriptions.php).reactphp/react for async needs.spatie/array-to-object for ad-hoc parsing./users/{id}/orders/{orderId})?
If yes, the new URI template support (guzzlehttp/uri-template) is a strong fit; if no, the package may still add overhead.guzzlehttp/command) for API debugging?
If yes, the package’s enhanced command library (v1.5.2+) is a game-changer for interactive testing.guzzlehttp/uri-template for schema validation and dynamic endpoint generation.trim() behavior is explicitly configured in service descriptions to avoid edge cases.guzzlehttp/guzzle-services:0.6 (Guzzle 5 compatibility) or upgrade to Laravel 9.
If upgrading, take advantage of the URI template support for cleaner dynamic API calls.guzzlehttp/command library (v1.5.2+) for:
php artisan api:test stripe --verbose).php artisan api:call user.show --id 123)./orders/{id}/refunds).config/api_descriptions.php).stripe/refund/{id}).guzzlehttp/command (e.g., php artisan api:refresh-cache).php artisan api:call stripe.charge --amount 100).GuzzleClient instances.GuzzleClient alongside Laravel’s Http facade for hybrid approaches.
Example: Http::withOptions(['debug' => true]) for logging, combined with GuzzleClient for typed operations.GuzzleClient inputs against rules.
The URI template support enables path/query parameter validation (eHow can I help you explore Laravel packages today?