rafrsr / generic-api
API Abstraction layer with mocks
Installs: 8 549
Dependents: 4
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: >=8.0.2
- doctrine/annotations: ^1.7
- doctrine/cache: ^1.4|^2.0
- guzzlehttp/guzzle: ^6.3|^7.0
- jms/serializer: ~0.11|~1.0|~2.0|~3.0
- symfony/cache: ^5.4|^6.0
- symfony/event-dispatcher: ^5.4|^6.0
- symfony/property-access: ^5.4|^6.0
- symfony/validator: ^5.4|^6.0
Requires (Dev)
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^8.5.14
README
API Abstraction layer with mocks. Tools for creating structured SDKs or API implementations easy and following some simple guidelines.
Most APIs provide a SDK or API implementation library in parallel. But this not always true, or simply not made in our required language (php). For this cases is necessary implements the API from scratch. GenericApi is solution to keep things organized and follow a similar pattern for all libraries.
Features
- Guzzle: Use guzzle with psr7 for requests, responses, and streams.
- Mocks: Emulate request and response for test environments
- Validation: Symfony validations to validate a request before send any data to remote API
- Connection Abstraction: Only create the request, the connection is done automatically with guzzle, no more complicated curl connections.
- Xml and Json Parser: Can use XML and JSON parser to convert API response to objects using JMS serializer
- Scaffolding: Test API connection and any method using generic classes
Installation
- Install composer
- Execute:
composer require rafrsr/generic-api
Documentation
Full documentation are available on the wiki page
Functional Example
Can view a more complex example of functional API in the "sample" folder.
Copyright
This project is licensed under the MIT license.