Questo repository conterrà il template di un'API interoperabile scritta in rust.
- Un progetto di esempio in rust
- Una directory
openapi
con le specifiche
Gli step per la creazione di API interoperabili sono:
-
scrivere le specifiche in formato OpenAPI v3 partendo dagli esempi in
openapi
; -
scrivere o generare il codice a partire dalle specifiche. Il generatore di codice non funziona ancora correttamente.
-
scrivere i metodi dell'applicazione
Le specifiche devono essere scritte in formato OpenAPIv3 e rispettando le Linee Guida di interoperabilità.
Queste presentazioni possono essere d'aiuto:
Le specifiche OpenAPI possono contenere riferimenti a schemi esterni
o yaml anchors. E' possibile risolverli tramite il modulo rust
openapi_resolver
, richamato dal Makefile
.
In questo repository, i file con anchor e ref hanno estensione .yaml.src
ma sono a tutti gli effetti file OAS3 validi e la maggior parte dei
tool li interpreta correttamente. E' comunque possibile dereferenziarli
per comodità tramite il comando:
make yaml
Il Makefile
contiene:
-
un esempio di code generation rust direttamente via openapi v3. Basta lanciare:
make rust-generate
Il codice generato è basato su una vecchia versione di openssl e non compila correttamente. Va' corretto il codice del generatore o individuato un generatore funzionante.
Per eseguire questa app servono:
make
rust 3 + tox
docker
E' possibile testare in locale tramite circleci, con:
circleci build