jav / apitopia-bundle
GraphQL APIs made simpler
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 4
Forks: 1
Open Issues: 2
Type:symfony-bundle
Requires
- php: ^8.1
- doctrine/annotations: ^2.0
- ecodev/graphql-upload: ^7.0
- ivome/graphql-relay-php: dev-master
- nyholm/psr7: >=1.6
- phpdocumentor/reflection-docblock: ^5.3
- symfony/config: >=5.4
- symfony/console: >=5.4
- symfony/dependency-injection: >=5.4
- symfony/finder: >=5.4
- symfony/framework-bundle: >=5.4
- symfony/http-client: >=5.4
- symfony/http-kernel: >=5.4
- symfony/mercure-bundle: ^0.3.7
- symfony/mime: >=5.4
- symfony/property-access: >=5.4
- symfony/psr-http-message-bridge: >=2.2
- symfony/routing: >=5.4
- symfony/serializer: >=5.4
- symfony/twig-bundle: >=5.4
Requires (Dev)
This package is auto-updated.
Last update: 2024-11-12 03:28:12 UTC
README
ApiTopia
This symfony bundle provides a set of annotations to define a full GraphQL schema, compliant with Relay specification
Annotations provided are:
- Query
- QueryCollection
- Mutation
- SubQuery
- SubQueryCollection
- Subscription
The naming convention and usage of this library is extremely similar to ApiPlatform, so if you are familiar with it, you should feel right at home. Key differences are:
- Multi schemas support, each with their own endpoint
- Full schema definition with PHP attributes, and reflection on DTOs
- Named queries, mutations and subscriptions are not suffixed with the class name (you can call them whatever you want)
- Fully configurable subquery and subquery collection
- Paginated collection resolvers are called with 'limit' and 'offset' arguments computed, even with cursor based pagination type
- Deferred subquery and subquery collection
- No ORM/DataSource integration, you have to provide your own data from the resolvers (but you can use anything you want inside them since they are services)
- No support for REST (yet?), only GraphQL