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: 49 965

Dependents: 2

Suggesters: 0

Security: 0

Stars: 32

Watchers: 9

Forks: 18

Open Issues: 8

Type:typo3-cms-extension

4.0.2 2024-10-21 21:05 UTC

README

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 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:

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