jschaedl/api-client

A generic api client implementation to avoid writing the same boiler plate code over and over again.

0.0.1 2024-09-15 19:12 UTC

This package is auto-updated.

Last update: 2024-11-16 07:51:45 UTC


README

ci status php-8.2%2B latest version total downloads license

Are you tired of spending countless hours writing repetitive boilerplate code to create API clients? Say goodbye to the hassle and welcome jschaedl/api-client, the library that will help you to build robust API clients effortlessly. It provides a simple, yet powerful foundation of classes to make building API clients fun again.

Key Benefits

Faster Development: With jschaedl/api-client, you can create API clients in minutes, thanks to the provided classes. No more wasting time on mundane tasks!

Versatility: jschaedl/api-client supports a wide range of APIs, making it a versatile solution for various projects. Whether you're working with RESTful, SOAP, or GraphQL APIs, it got you covered.

Customization: Tailor API clients to your specific needs with ease. jschaedl/api-client provides a flexible framework that allows developers to customize requests, responses, and error handling effortlessly.

Standards: jschaedl/api-client follows PSR-7 (HTTP message interfaces), PSR-17 (HTTP factoring interfaces), and PSR-18 (HTTP client interfaces) to ensure compatibility and interoperability with industry-approved practices.

When you should use this library?

No Existing SDK: When there's no SDK available for the API you want to consume, and you find yourself needing to implement an API client from scratch, jschaedl/api-client is your go-to solution.

Selective Endpoint Calls: In cases where there is an SDK for the API you want to consume, but you only require specific endpoints and don't want to deal with the overhead of the entire bloated SDK, jschaedl/api-client steps in.

Avoiding 3rd Party SDK Dependencies: Tired of integrating 3rd party SDKs that bring along a cascade of dependencies? Opt for jschaedl/api-client to sidestep the hassle.

Installation

To install jschaedl/api-client via composer use

composer require jschaedl/api-client

Examples

...

Features

Client

GenericRequest and Response

Request and Response Handlers

Request/Response Body Encoder/Decoder

Custom Requests and Responses

RetryClient

Testing with Mocks

FAQ

How can I add custom headers to requests?

...

How can I send authentication information along with a request?

...

How can use a Client in my tests?

...

Author

Jan Schädlich

Contributors

How to Contribute

Please read our contributing guidelines.

License

MIT License