/t3api

TYPO3 extension t3api. REST API for your TYPO3 project. Config with annotations, built in filtering, pagination, typolinks, image processing, uploads (FAL), serialization contexts, responses in Hydra/JSON-LD format.

Primary LanguagePHPGNU General Public License v2.0GPL-2.0

TYPO3 Extension t3api

https://poser.pugx.org/sourcebroker/t3api/v/stable https://img.shields.io/github/actions/workflow/status/sourcebroker/t3api/TYPO3_12.yml?label=Tests%20TYPO3%2012&logo=github https://img.shields.io/github/actions/workflow/status/sourcebroker/t3api/TYPO3_13.yml?label=Tests%20TYPO3%2013&logo=github

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 12 to install local integration test instance. Local instance is available at https://12.t3api.ddev.site/ (login to backend with admin / Password1! credentials).

At frontend part you can at once test REST API responses for ext news:

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