Problem/Motivation
The current jsonapi classes contain this string:
" * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
* may change at any time and could break any dependencies on it."
But this is not really the case anymore. There are a few classes that are used to define a public API through events.
This is also a problem in jsonapi.api.php which is no longer the truth.
* The JSON:API module provides *no PHP API to modify its behavior.* It is
* designed to have zero configuration.
*
* - Adding new resources/resource types is unsupported: all entities/entity
* types are exposed automatically. If you want to expose more data via the
* JSON:API module, the data must be defined as entity. See the "Resources"
* section.
* - Custom field type normalization is not supported because the JSON:API
* specification requires specific representations for resources (entities),
* attributes on resources (non-entity reference fields) and relationships
* between those resources (entity reference fields). A field contains
* properties, and properties are of a certain data type. All non-internal
* properties on a field are normalized.
* - The same data type normalizers as those used by core's Serialization and
* REST modules are also used by the JSON:API module.
* - All available authentication mechanisms are allowed.
Steps to reproduce
n.a.
Proposed resolution
We need new wording which makes clear that there is an API, but everything @internal is REALLY internal as mentioned above.
Remaining tasks
- Decide on a message
- Decide on what is missing and wrong in jsonapi.api.php
- Implement the messages
User interface changes
None
API changes
None
Data model changes
None
Comments
Comment #2
bbralaComment #4
wim leers+1 for rephrasing this.