Створіть локальний клієнт
Публічні пакети для Java, Python і Node.js ще не опубліковані. Створіть локальний клієнт із версіонованого публічного контракту за допомогою наведеної нижче команди із зафіксованим генератором. Фіксована версія генератора робить оновлення контракту свідомими.
Налаштуйте запити
Виконуйте виклики із надійного сервера, читайте токен доступу із середовища та використовуйте базову адресу й тайм-аути, наведені в прикладах. Ніколи не розміщуйте токен у коді браузера.
Отримайте список тварин
Наведені нижче приклади для Java, Python і Node.js виконують ту саму першу операцію за допомогою стандартних бібліотек платформи, тому не залежать від неопублікованого пакета.
Обробляйте помилки
Перевіряйте статус і тіло відповіді. Зберігайте ідентифікатор запиту для звернення до служби підтримки, але ніколи не записуйте токен доступу в журнали. Повторюйте запис або створення раціону лише тоді, коли запит безпечно повторити.
Версія та джерело
Створюйте клієнти з публічного пакета OpenAPI. Зафіксуйте версії контракту й генератора у процесі складання, щоб оновлення можна було перевіряти й відтворювати.
Java
curl --fail --silent --show-error https://api.barflab.io/openapi.yaml -o openapi.yaml
docker run --rm -v "$PWD:/local" openapitools/openapi-generator-cli:v7.24.0 generate \
-i /local/openapi.yaml -g java -o /local/generated/barflab-java \
--additional-properties=library=native
Java HTTP
var request = HttpRequest.newBuilder(URI.create(
"https://api.barflab.io/v1/pets"))
.header("Authorization", "Bearer " + System.getenv("BARFLAB_TOKEN"))
.header("Accept", "application/json")
.timeout(Duration.ofSeconds(30))
.GET()
.build();
var response = httpClient.send(request, BodyHandlers.ofString());
Python
curl --fail --silent --show-error https://api.barflab.io/openapi.yaml -o openapi.yaml
docker run --rm -v "$PWD:/local" openapitools/openapi-generator-cli:v7.24.0 generate \
-i /local/openapi.yaml -g python -o /local/generated/barflab-python
Python HTTP
import os
import urllib.request
request = urllib.request.Request(
"https://api.barflab.io/v1/pets",
headers={
"Authorization": f"Bearer {os.environ['BARFLAB_TOKEN']}",
"Accept": "application/json",
},
)
with urllib.request.urlopen(request, timeout=30) as response:
body = response.read()
Node.js
curl --fail --silent --show-error https://api.barflab.io/openapi.yaml -o openapi.yaml
docker run --rm -v "$PWD:/local" openapitools/openapi-generator-cli:v7.24.0 generate \
-i /local/openapi.yaml -g typescript-fetch -o /local/generated/barflab-node
Node.js HTTP
const response = await fetch(
"https://api.barflab.io/v1/pets",
{
headers: {
Authorization: `Bearer ${process.env.BARFLAB_TOKEN}`,
Accept: "application/json",
},
signal: AbortSignal.timeout(30_000),
},
);
const body = await response.json();
Ідентифікатор операції
petsList