Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sourcebroker/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.
https://github.com/sourcebroker/t3api

hydra json-ld rest rest-api typo3-cms-extension typo3-extension

Last synced: about 5 hours ago
JSON representation

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.

Awesome Lists containing this project

README

        

TYPO3 Extension t3api
=====================

.. image:: https://poser.pugx.org/sourcebroker/t3api/v/stable
:target: https://extensions.typo3.org/extension/t3api/

.. image:: https://img.shields.io/github/actions/workflow/status/sourcebroker/t3api/TYPO3_12.yml?label=Tests%20TYPO3%2012&logo=github
:target: https://github.com/sourcebroker/t3api/actions/workflows/TYPO3_12.yml

.. image:: https://img.shields.io/github/actions/workflow/status/sourcebroker/t3api/TYPO3_13.yml?label=Tests%20TYPO3%2013&logo=github
:target: https://github.com/sourcebroker/t3api/actions/workflows/TYPO3_13.yml

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