You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Instead of inventing an own JSON structure, please think about using the JSON:API standard that is widely supported by JS frameworks: https://jsonapi.org/
A REST API also fits better than GraphQL for a CMS because a CMS frontend has to read a lot of data but don't need to write large data sets. We've published an article about the pros and cons of JSON:API and GraphQL: https://aimeos.org/tips/graphql-vs-jsonapi-for-ecommerce/
I strongly upvote this suggestion, because the last days of evaluating this headless implementation to use it in a proper application gave me much headaches.
As TYPO3 uses a lot of Symfony packages already, I'd recommend to look into the symfony-jsonapi implementation for example.
We don't have json JSON:API implementation currently on our roadmap, but we're open for contributions (first concept, later implementation) in this area.
If the concept turned out feasible, we could reconsider the roadmap.
What is important is that we want TYPO3 to still be responsible for url generation and routing (and not JS app), this way editor can work on application and has full control.
Instead of inventing an own JSON structure, please think about using the JSON:API standard that is widely supported by JS frameworks: https://jsonapi.org/
We have made good experience using the standard for our own JSON REST API for e-commerce:
https://github.com/aimeos/ai-admin-jqadm
A REST API also fits better than GraphQL for a CMS because a CMS frontend has to read a lot of data but don't need to write large data sets. We've published an article about the pros and cons of JSON:API and GraphQL: https://aimeos.org/tips/graphql-vs-jsonapi-for-ecommerce/
Dries from Drupal also made a good article why Drupal prefers JSON:API over GraphQL:
https://dri.es/headless-cms-rest-vs-jsonapi-vs-graphql
The text was updated successfully, but these errors were encountered: