JSON API
Créé par le co-fondateur de http://www.tilde.io, une entreprise de conseil (en jsonapi ?).
C’est une spécification et non un standard.
Cool 👍
Définition d’un format strict mais extensible.
Standardisation des paramètres de sorting, filtering et de pagination (l’implémentation reste libre pour la pagination).
L’idée du resource linking avec des relationships est intéressante.
Pas cool 👎
Risque de collision entre les fields présents dans
attributes
etrelationships
.Pas de différence entre un lien vers une instance ou une collection.
Les one-to-one relationships sont ambigües et ne respectent pas la convention :
/resources/:resourceId/sub-resources/:subResourceId
Attention, les exemples utilisés dans la spec adoptent des conventions inhabituelles et ne sont pas imposés par la spec.
L’utilisation des fields en kebab-case n’est pas dans le standard.
La propriété
type
n’est pas forcément au pluriel.
L’idée des bulk operations sur les relationships est très intéressante mais malheureusement pas appliquée aux ressources.
De nombreuses implémentations mais la plupart ne sont plus maintenues depuis des mois voire des années.