sourcebroker / t3api
REST API for your TYPO3 project. Config with annotations, build in filtering, pagination, typolinks, image processing, serialization contexts, responses in Hydra/JSON-LD format.
Installs: 50 434
Dependents: 2
Suggesters: 0
Security: 0
Stars: 33
Watchers: 9
Forks: 19
Open Issues: 9
Type:typo3-cms-extension
Requires
- php: ^8.1.0
- ext-json: *
- ext-pdo: *
- ext-tokenizer: *
- doctrine/annotations: ^1.13.3 || ^2.0
- goldspecdigital/oooas: ^2.4
- jms/serializer: ^3.1
- phpdocumentor/reflection-docblock: ^5.2
- symfony/cache: ^6.4 || ^7.0
- symfony/expression-language: ^6.4 || ^7.0
- symfony/http-foundation: ^6.4 || ^7.0
- symfony/mime: ^6.4 || ^7.0
- symfony/property-info: ^6.4 || ^7.0
- symfony/psr-http-message-bridge: ^6.4 || ^7.0
- symfony/routing: ^6.4 || ^7.0
- typo3/cms-core: ^12.4.16 || ^13.3
- typo3/cms-extbase: ^12.4.16 || ^13.3
- typo3/cms-frontend: ^12.4.16 || ^13.3
Requires (Dev)
- ergebnis/composer-normalize: ^2.29.0
- friendsofphp/php-cs-fixer: ^3.57.1
- phpstan/extension-installer: ^1.2.0
- phpstan/phpstan: ^1.10.67
- phpstan/phpstan-phpunit: ^1.3.16
- phpstan/phpstan-strict-rules: ^1.5.5
- phpunit/phpunit: ^10.5.17
- saschaegerer/phpstan-typo3: ^1.10.0
- seld/jsonlint: ^1.10.2
- symfony/yaml: ^5.4 || ^6.0 || ^7.0
- typo3/cms-install: ^12.4.16 || ^13.3
- typo3/coding-standards: ^0.8
- typo3/testing-framework: ^8.2.1
- webmozart/assert: ^1.11.0
Replaces
- typo3-ter/t3api: 4.0.2
This package is auto-updated.
Last update: 2024-11-21 21:24:31 UTC
README
Features
- Support for Extbase models with GET, POST, PATCH, PUT, DELETE operations.
- Configuration with classes, properties and methods annotations.
- Build-in filters: boolean, numeric, order, range and text (partial, match against and exact strategies).
- Build-in pagination.
- Support for typolinks.
- Support for image processing.
- Support for file uploads (FAL).
- Configurable routing.
- Responses in Hydra /JSON-LD format.
- Serialization contexts - customizable output depending on routing.
- Easy customizable serialization handlers and subscribers.
- Backend module with Swagger for documentation and real testing.
Documentation
Read the docs at https://docs.typo3.org/p/sourcebroker/t3api/master/en-us/
Take a look and test
After cloning repo you can run ddev restart && ddev composer install
and then ddev ci 13
to install local integration test instance.
Local instance is available at https://13.t3api.ddev.site/ (login to backend with admin
/ Password1!
credentials).
At frontend part you can at once test REST API responses for ext news:
- https://13.t3api.ddev.site/_api/news/news
- https://13.t3api.ddev.site/_api/news/news/1
- https://13.t3api.ddev.site/_api/news/categories
- etc
You can also run Postman test with ddev ci:tests:postman
command or full test suite with ddev composer ci
.
Postman is doing full CRUD test with category and news (with image).
Development
If you want to help with development take a look at https://docs.typo3.org/p/sourcebroker/t3api/main/en-us/Miscellaneous/Development/Index.html