Skip to content

Repository files navigation

Ray.WebQuery

Web API access mapping framework for Ray.MediaQuery.

Installation

composer require ray/media-query-web

Note: This package depends on ray/media-query which provides the core database query functionality.

Usage

Web API Query

Create an interface with #[WebQuery] attribute:

<?phpuseRay\MediaQuery\Annotation\WebQuery;
interface ApiInterface
{
#[WebQuery('api.get')]
publicfunctionget(string$id): array;
}

Create a web query configuration file web_query.json:

{
"api": {
"get": {
"method": "GET",
"path": "https://api.example.com/users/{id}"
}
}
}

Install the module:

<?phpuseRay\MediaQuery\MediaQueryWebModule;
useRay\MediaQuery\WebQueryConfig;
useRay\Di\Injector;
$webConfig = newWebQueryConfig('web_query.json', ['domain' => 'example.com']);
$module = newMediaQueryWebModule($webConfig);
$injector = newInjector($module);
$api = $injector->getInstance(ApiInterface::class);
$result = $api->get('123'); // GET https://api.example.com/users/123

Features

  • Web API Queries: Execute HTTP requests via interface methods
  • URI Template Support: Dynamic URL parameter binding
  • Multiple Response Types: JSON array, string, or PSR-7 message
  • Parameter Injection: Automatic parameter conversion and injection
  • HTTP Client Integration: Built on Guzzle HTTP client

Requirements

  • PHP 8.1+
  • ray/media-query ^1.0

About

Web API query abstraction for Ray.MediaQuery framework

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages