<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>L'ultima volta che ho provato DRF l'ho scartato perchè è limitante e complicato. Se vuoi rimanere in ambito Django, non so se ci siano altre opzioni più utili; Flask comunque ha un ottimo supporto per REST; c'è anche falcon ma richiede più smanettamento.</div><div><br></div><div>Uno dei vantaggi di REST è che essendo uniforme, puoi generalizzare e generare moltissime cose (quasi tutte in effetti). Per le risorse più complesse che usano dati da più tabelle non correlate puoi sempre fare delle eccezioni e scriverle a mano. Putroppo la comunità REST non ha mai prodotto un framework che sfrutti ciò a pieno anche per la questione HATEOAS (ovvero come fornire i link a ciascuna risorsa): ci sono tantissimi formati e anche molte opinioni, incluse quelle di chi suggerisce di non usarlo. Evidentemente non hanno capito la specifica: REST deve usare un sistema di HATEOAS oppure è semplicemente un API che produce JSON. Credo che senza complicarsi troppo le cose ci siano due scelte HAL (se non vuoi problemi) o Siren (se sei un perfezionista).<br></div><div><br></div><div>Per quanto concerne il futuro, GraphQL sta prendendo piede ovunque ma io mi dissocio, considerate le premesse tecniche da film horror e chi lo sponsorizza. Ultimamente leggo su twitter alcuni lamentarsi che GraphQL produce un carico notevole a causa delle molte JOIN - un sorpresone, visto che GraphQL intende risolvere il problema della gente che non sa strutturare un database a forza di JOIN 🙄</div><div>Quindi in sostanza per un API pubblica la soluzione rimane REST, mentre per le API interne c'è grpc.<br></div><div><br></div><div>È sempre più conveniente mantenere ciò che già funziona, non lo facciamo perchè vogliamo il giocattolino nuovo :)</div><div><br></div><div>Risorse:</div><div>- <a href="https://github.com/getefesto/efesto">https://github.com/getefesto/efesto</a> (API in Siren da un file YAML, su falcon)</div><div>- <a href="https://github.com/falconry/falcon">https://github.com/falconry/falcon</a><br></div><div>- <a href="https://github.com/kevinswiber/siren">https://github.com/kevinswiber/siren</a></div><div>- <a href="https://gist.github.com/kevinswiber/3066768">https://gist.github.com/kevinswiber/3066768</a> (Siren vs HAL)</div><div>- <a href="https://flask-restful.readthedocs.io/en/latest/">https://flask-restful.readthedocs.io/en/latest/</a></div><div>- <a href="https://grpc.io/">https://grpc.io/</a><br></div><div><br></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno ven 18 gen 2019 alle ore 17:05 Luca <<a href="mailto:luca800@gmail.com">luca800@gmail.com</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Salve Lista,<br><br>Negli ultimi 6 anni ho utilizato con successo JSON-WSP (<a href="https://en.wikipedia.org/wiki/JSON-WSP" target="_blank">https://en.wikipedia.org/wiki/JSON-WSP</a>) tramite ladon lato server (<a href="https://bitbucket.org/jakobsg/ladon" target="_blank">https://bitbucket.org/jakobsg/ladon</a>) e un mio client lato client (<a href="https://jsonwspclient.readthedocs.io/en/latest/" target="_blank">https://jsonwspclient.readthedocs.io/en/latest/</a>).<br>Ora sto cercando di passare il tutto sotto Django Rest Framework perchè mi piace l'idea.<br><br>Mi sto guardando la documentazione di DRF e di Django. <br>Se ho capito bene l'unico sistema che prevede DRF per inviare files è utilizzare un Modello con campo FileField e usare il FileUploadParser.<br><br>Qualcuno di voi ha esperienze a rigurado ? <br>Sa consigliarmi una via ? <br>E' più conveniente mantenere le cose che già funzionano anche se il JSON-WSP sembra non avere un futuro ? E comunque io vorrei RESTare il tutto ?  <br>Avete esempi e/o documentazione ? <br>Qualcuno ha visto dove ho dimenticato le chiavi di casa ? <br><br>grassie in anticipo<br>-- <br><div dir="ltr" class="gmail-m_-4019766056135037254gmail_signature"><div dir="ltr"><div>Luca</div></div></div></div></div>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailman/listinfo/python</a><br>
</blockquote></div>