ciao a tutti,
voi come organizzate la API di un progetto django?
Mi trovo con un progetto django in cui avevo fatto spuntare un po' qua e un po' la varie API distribute nelle molteplici app del progetto
Per cui sono al momento disponibili varie chiamate con url tipo:
"<nome-app>/api/<entry-point-specifico>"
Ma ora, all'aumentare del numero di chiamate, si sta creando obiettivamente un po' di confusione
Anche perché gli utilizzatori non raggionano "per-app"
Per loro sono le API del progetto. Punto. L'app che effettivamente le implementa è un dettaglio interno
Quindi ho idea di esporre un prefisso comune per tutte le API
Una cosa tipo:
"<url-base-progetto>/api"
(Se proprio proprio dovesse esserci necessità mi riservo di introdurre dei sotto raggruppamenti)
Inoltre, dato che che farò questo lavoro, vorrei anche pensare ad un versioning sulle API
Finora tutte le API erano implicitamente in versione beta "0.1" e quindi mi sono permesso di cambiare abbastanza liberamente signature e formato della response
Ma da ora vorrei tutelare chi svilupperà utilizzando queste API per cui mi piacerebbe adottare uno schema di versioning
In questo modo posso mantenere retrocompatibilità e percorso di obsolescenza
Ecco quindi che gli url dovrebbero diventare tipo
"<url-base-progetto>/api/v1/"
Potendo quindi contare poi su
"<url-base-progetto>/api/v2/"
"<url-base-progetto>/api/v3/"
Devo finire di chiarirmi le idea
Ma nel frattempo...
nessuno meglio della lista django può darmi suggerimenti/critiche/consigli/caso-d'uso etc. etc.!
Sparate pure liberamente, Grazie!
Marco
Ah, per la cronaca, sono su DRF