APIOutils
Bibliothèques clientes
Les clients officiels de WoWDB, d’un seul fichier et sans dépendance, et la génération de clients par OpenAPI.
Bibliothèques officielles#
Chaque client tient en un seul fichier sans dépendance : copiez-le dans votre projet. Tous suivent la même interface : une méthode par ressource, la pagination automatique (iterate), une erreur typée avec le code de l’API, et une nouvelle tentative après Retry-After sur un 429.
sha256sum -c SHA256SUMS).import { WowDb } from "./wowdb.mjs";
const wowdb = new WowDb({ userAgent: "bot-de-ma-guilde/1.0" });
const lame = await wowdb.items.retrieve("classic", 5191);
console.log(lame.name, lame.weapon.dps);
for await (const dague of wowdb.items.iterate("classic", { type: "dagger", rogue: true })) {
console.log(dague.name);
}Téléchargements#
JavaScript / TypeScriptNavigateur, Node.js 18+, Deno, Bun (ESM)v1.0.0testéwowdb.mjs· 6,4 Kio · types : wowdb.d.tsSHA-256
a7b00fe9cf204a05c23ab5f3eaef5607730755d1c40577dff2129d5397c378fb
PythonPython 3.8+, bibliothèque standardv1.0.0testéwowdb.py· 6,3 KioSHA-256
e6c997523786fc301d38525f0c44ca49fe02bf5eb225a60459882a2d8e2ea100
PHPPHP 8.1+, extension jsonv1.0.0WowDb.php· 5,3 KioSHA-256
3ce312657cd8295f76b02101b0836e07ec3b0ebe15caa078ca144820d9d22a0a
RubyRuby 3.0+, bibliothèque standardv1.0.0wowdb.rb· 4,1 KioSHA-256
b4ce1c7f5971bd4c9852738e32e6951c20dab52bcbd2ec719a165d88239f071a
GoGo 1.18+, bibliothèque standardv1.0.0wowdb.go· 5,2 KioSHA-256
4c5d45843a156ec6d71b73443b5ca7c0d362d50a7cec3eb5c0681c788c76da80
JavaJava 11+, java.net.http, lecteur JSON intégrév1.0.0WowDb.java· 11,7 KioSHA-256
ac84d831bb2b7a5a0d82b8ef0f76b4cd29f9e43ddabf0aa26573ecf6cc3e02d1
C# / .NET.NET 6+, System.Text.Jsonv1.0.0WowDb.cs· 6,9 KioSHA-256
1e3d47affb44aaf06a51f6ad1046029bcf3c5226166cc392542817d9cedbcaff
Les clients marqués « testé » sont exécutés contre l’API à chaque série de tests de WoWDB ; les autres suivent la même interface et les mêmes règles (erreurs, pagination, Retry-After). Un souci, une amélioration ? Dites-le sur le forum.
Générer un client depuis OpenAPI#
Pour un client typé dans un autre langage, ou avec vos conventions, générez-le depuis la spécification OpenAPI 3.1. Quelques générateurs connus :
| Langage | Outil | Commande |
|---|---|---|
| TypeScript (types) | openapi-typescript | npx openapi-typescript https://api.wowdb.assemblee-defias.fr/v1/openapi.json -o wowdb.d.ts |
| TypeScript (client fetch) | OpenAPI Generator | openapi-generator-cli generate -i https://api.wowdb.assemblee-defias.fr/v1/openapi.json -g typescript-fetch -o wowdb-ts |
| Python | openapi-python-client | openapi-python-client generate --url https://api.wowdb.assemblee-defias.fr/v1/openapi.json |
| Go | oapi-codegen | oapi-codegen -package wowdb -generate types,client openapi.json > wowdb.gen.go |
| Java | OpenAPI Generator | openapi-generator-cli generate -i https://api.wowdb.assemblee-defias.fr/v1/openapi.json -g java -o wowdb-java |
| C# | NSwag | nswag openapi2csclient /input:https://api.wowdb.assemblee-defias.fr/v1/openapi.json /namespace:WowDb /output:WowDb.cs |
| PHP | OpenAPI Generator | openapi-generator-cli generate -i https://api.wowdb.assemblee-defias.fr/v1/openapi.json -g php -o wowdb-php |
| Ruby | OpenAPI Generator | openapi-generator-cli generate -i https://api.wowdb.assemblee-defias.fr/v1/openapi.json -g ruby -o wowdb-ruby |
| Rust | OpenAPI Generator | openapi-generator-cli generate -i https://api.wowdb.assemblee-defias.fr/v1/openapi.json -g rust -o wowdb-rust |
| Kotlin, Swift, Dart… | OpenAPI Generator | openapi-generator-cli list donne les 50 générateurs de clients |
curl -o openapi.json https://api.wowdb.assemblee-defias.fr/v1/openapi.json.API de WoWDB des Défias, v1. Données du jeu © Blizzard Entertainment. Conditions d’usage · Markdown · llms.txt · OpenAPI