Skapa en lokal klient
Offentliga paket har ännu inte publicerats för Java, Python eller Node.js. Skapa en lokal klient från det versionshanterade offentliga kontraktet med det låsta generator-kommandot som visas nedan. En fast generatorversion gör kontraktsuppdateringar medvetna.
Konfigurera begäranden
Kör anrop från en betrodd server, läs åtkomsttokenen från miljön och använd basadressen och tidsgränserna som visas i exemplen. Placera aldrig tokenen i webbläsarkod.
Lista husdjur
Exemplen för Java, Python och Node.js nedan utför samma första åtgärd med standardbibliotek från plattformen, så de är inte beroende av ett opublicerat paket.
Hantera fel
Kontrollera både svarsstatusen och innehållet. Spara begärans identifierare när du kontaktar supporten, men logga aldrig åtkomsttokenen. Försök bara igen med en skrivning eller dietgenerering när begäran kan upprepas säkert.
Version och källa
Skapa klienter från det offentliga OpenAPI-paketet. Lås kontrakts- och generatorversionerna i ditt bygge så att uppgraderingar granskas och kan upprepas.
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();