Specifica OpenAPI
Dove trovare la descrizione OpenAPI leggibile dalla macchina dell’API, a che cosa serve e come generarne un client.
L’API di PDF Blocks è descritta da un unico documento OpenAPI, il contratto
leggibile dalla macchina su cui è scritta questa documentazione. È OpenAPI
3.0.0, attualmente alla versione 1.18.0, pubblicato come
pdfblocks.openapi.yaml. Ogni rotta, parametro, enumerazione, vincolo e risposta
dell’API è definito lì, quindi è possibile generare un client tipizzato,
convalidare le richieste prima che lascino il proprio processo oppure allestire
un server di mock.
Non esiste alcun SDK ufficiale: l’HTTP
grezzo è la via di prima classe e la generazione di codice a partire da questa
specifica è il modo supportato per ottenere un client tipizzato. Un URL di
download ospitato è in arrivo; nel frattempo, richiedere il
pdfblocks.openapi.yaml attuale a
support@pdfblocks.com.
A che cosa serve la specifica
- Client tipizzati. Generare modelli e metodi di richiesta nel proprio linguaggio invece di scrivere a mano le chiamate multipart.
- Convalida. Verificare richieste e risposte rispetto allo schema nei test o al confine del proprio servizio.
- Mock. Dare il documento a un server di mock per sviluppare prima di collegare chiamate reali.
- Supporto nell’editor. Caricarlo in un editor che conosce OpenAPI per avere autocompletamento e documentazione in linea.
Generare un client tipizzato
Salvare il contratto in locale come pdfblocks.openapi.yaml, poi puntarci un
generatore di codice. OpenAPI Generator copre
il maggior numero di linguaggi; questo comando genera l’impalcatura di un client
Python:
npm install -g @openapitools/openapi-generator-cli
openapi-generator-cli generate \
-i pdfblocks.openapi.yaml \
-g python \
-o ./pdfblocks-clientSostituire -g python con ruby, csharp, typescript-fetch, go, php o
qualsiasi altro generatore supportato. Due alternative comuni:
# Multi-language generator, similar to OpenAPI Generator.
swagger-codegen generate \
-i pdfblocks.openapi.yaml \
-l java \
-o ./pdfblocks-client# TypeScript types only (no runtime client): pairs well with fetch.
npx openapi-typescript pdfblocks.openapi.yaml \
--output ./pdfblocks.d.tsQualunque strumento si usi, configurare il client generato con l’URL di base
https://api.pdfblocks.com e inviare la propria chiave nell’intestazione
X-API-Key. Vedere Librerie e
integrazioni per il quadro completo delle
superfici di integrazione supportate.
Specifica e documentazione
La specifica è la verità per la macchina; questa documentazione è la verità per la persona. Il documento OpenAPI dà la forma esatta di ogni richiesta e di ogni risposta. La documentazione in prosa aggiunge ciò che uno schema non può dire: perché e quando usare un’azione, esempi svolti in sette linguaggi, il catalogo dei modelli di filigrana e il recupero dagli errori. Usare entrambe: la specifica per generare e convalidare, la documentazione per capire.
Il codice del client viene generato a partire da una versione precisa. Prima di fissare un client generato, leggere Versionamento e stabilità per sapere quali modifiche sono retrocompatibili e come vengono rilasciate quelle incompatibili.