SDK

Brug BARFLABs offentlige API fra Java, Python eller Node.js.

Generér en lokal klient

Offentlige pakker er endnu ikke udgivet til Java, Python eller Node.js. Generér en lokal klient fra den versionerede offentlige kontrakt med den fastlåste generator kommando, der vises nedenfor. En fast generatorversion gør kontraktopdateringer bevidste.

Konfigurér forespørgsler

Kør kald fra en betroet server, læs adgangstokenet fra miljøet, og brug den grundadresse og de tidsgrænser, der vises i eksemplerne. Anbring aldrig tokenet i browserkode.

Hent kæledyr

Eksemplerne til Java, Python og Node.js udfører den samme første handling med standardbiblioteker fra platformen, så de afhænger ikke af en uudgivet pakke.

Håndtér fejl

Kontrollér både svarstatus og brødtekst. Gem forespørgsels-id'et, når du kontakter support, men log aldrig adgangstokenet. Gentag en skrivning eller generering af en diæt kun, når forespørgslen kan gentages sikkert.

Version og kilde

Generér klienter fra den offentlige OpenAPI-pakke. Fastlås kontrakt- og generatorversionerne i dit build, så opgraderinger kan gennemgås og gentages.

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();
Handlings-ID
petsList