Aller au contenu

Requêtes manuelles

Pour le développement backend et frontend, il peut être utile d'envoyer des requêtes manuelles à l'API Web Gramps. En utilisant HTTPie et jq, cela peut être fait facilement, y compris l'authentification JWT.

Installation

HTTPie est installé avec pip :

python3 -m pip install httpie

Vous aurez besoin de la version 3.0.0 ou supérieure d'HTTPie.

jq peut être installé sur Ubuntu via

sudo apt install jq

Récupération d'un jeton d'accès

Pour récupérer un jeton d'accès, interrogez le point de terminaison du jeton. En supposant que votre instance de développement fonctionne sur localhost:5555, vous pouvez utiliser la commande

http POST http://localhost:5555/api/token/ username=owner password=owner

Vous verrez les jetons JSON en sortie.

En utilisant jq, vous pouvez également stocker le jeton d'accès dans une variable d'environnement :

export ACCESS_TOKEN=$(http POST http://localhost:5555/api/token/ \
  username=owner password=owner | jq -r '.access_token')

Vous pouvez maintenant utiliser ce jeton dans tous les appels API qui nécessitent une authentification, par exemple :

http -A bearer -a $ACCESS_TOKEN GET http://localhost:5555/api/metadata/

Notez qu'en règle générale, les jetons d'accès expireront après 15 minutes.