Ketting : une API g�n�rique Hypermedia et une interface RESTFul
pour JavaScript et TypeScript

Ketting a pour objectif de devenir une API cliente g�n�rique Hypermedia (HATEOAS) pour JavaScript et TypeScript que ce soit via Node.js ou dans les navigateurs. Ce qui veut dire qu'il prend en charge un ensemble de fonctionnalit�s modernes que les services REST pourraient avoir. L'id�e est �galement de fournir une interface RESTful permettant de suivre de mani�re stricte les bonnes pratiques REST.

La biblioth�que utilise l'API Fetch et supporte plusieurs formats de donn�es :
  • HAL, pour Hypertext Application Language ;
  • JSON:API ;
  • Siren, une interface structur�e pour repr�senter des entit�s ;
  • Web Linking (header HTTP Link), un mod�le de relations entre les ressources et des types ;
  • les link HTML5.


L'auteur, Evert Pot, donne l'exemple suivant :

Code js : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
const ketting = new Ketting('https://api.example.org/');
 
// Retrouver un lien avec rel="author". Cela pourrait être un "<link>" HTML5,
// un "_links" HAL ou un "Link:" HTTP.
const author = await ketting.follow('author');
 
// Obtenir l'état actuel.
const authorState = await author.get();
 
// Modifier la propriété firstName de l'objet.
authorState.firstName = 'Evert';
 
// Sauvegarder le nouvel état.
await author.put(authorState);

Contrairement � la plupart des autres biblioth�ques, Ketting ne se base pas sur les URI, mais sur les types de relations et les liens. Car un principe de base de la construction d'un bon service REST, est que les URI doivent �tre d�couvertes et non cod�es en dur dans une application.


Site officiel.