SDK

Používajte verejné API BARFLAB z Javy, Pythonu alebo Node.js.

Vygenerujte lokálneho klienta

Verejné balíčky pre Javu, Python ani Node.js zatiaľ nie sú publikované. Vygenerujte lokálneho klienta z verzovaného verejného kontraktu pomocou príkazu s pevne určenou verziou generátora uvedeného nižšie. Udržiavanie pevnej verzie generátora umožňuje plánované aktualizácie kontraktu.

Nakonfigurujte požiadavky

Volania vykonávajte z dôveryhodného servera, prístupový token načítavajte z prostredia a používajte základnú adresu a časové limity uvedené v príkladoch. Token nikdy nevkladajte do kódu prehliadača.

Vypíšte zvieratá

Príklady v Jave, Pythone a Node.js uvedené nižšie vykonávajú rovnakú prvú operáciu pomocou štandardných knižníc platformy, takže nezávisia od nepublikovaného balíčka.

Spracujte chyby

Kontrolujte stav aj telo odpovede. Identifikátor požiadavky si ponechajte pre prípadný kontakt s podporou, ale prístupový token nikdy nezapisujte do protokolov. Zápis alebo generovanie diéty opakujte iba vtedy, keď možno požiadavku bezpečne zopakovať.

Verzia a zdroj

Klientov generujte z verejného balíka OpenAPI. Vo svojom zostavení pevne určte verziu kontraktu aj generátora, aby boli aktualizácie kontrolovateľné a opakovateľné.

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();
ID operácie
petsList