Перейти к содержанию

Ручные запросы

Для разработки бэкенда и фронтенда может быть полезно отправлять ручные запросы к Gramps Web API. С помощью HTTPie и jq это можно сделать удобно, включая аутентификацию JWT.

Установка

HTTPie устанавливается с помощью pip:

python3 -m pip install httpie

Вам потребуется версия HTTPie 3.0.0 или новее.

jq можно установить в Ubuntu с помощью

sudo apt install jq

Получение токена доступа

Чтобы получить токен доступа, выполните запрос к конечной точке токена. Предполагая, что ваша экземпляр разработки работает на localhost:5555, вы можете использовать команду

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

Вы увидите JSON токены в выводе.

С помощью jq вы также можете сохранить токен доступа в переменной окружения:

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

Теперь вы можете использовать этот токен во всех API вызовах, которые требуют аутентификации, например:

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

Обратите внимание, что по умолчанию токены доступа истекают через 15 минут.