2016-01-29 26 views
8

Qual è la differenza tra MethodView e Resource?Flask MethodView vs Flask-Restful Resource

Esso implementa API dal pallone-ristoratore:

class API(Resource): 
    decorators = [...,] 

    def get(self): 
     # do something 
    def post(self): 
     # do something 
    def put(self): 
     # do something 
    def delete(self): 
     # do something 

In realtà, può essere sostituito da pallone: ​​

class API(MethodView): 
    decorators = [...,] 

    def get(self): 
     # do something 
    def post(self): 
     # do something 
    def put(self): 
     # do something 
    def delete(self): 
     # do something 

Credo Flask ha offerto abbastanza di stabilire RESTful API. Non riesco a trovare il pallone-riposante può fare qualcosa in più del pallone perché hanno i metodi CRUD e decoratori in classe di meccanismo nello stesso. Cosa c'è di speciale nel pallone, riposante?

Sto valutando se Flask-Restful è davvero necessario per me. Per favore dimmi, grazie.

risposta

3

Mi stavo chiedendo la stessa cosa e in base a questo post la risorsa viene ereditata da Methodview (http://blog.miguelgrinberg.com/post/designing-a-restful-api-using-flask-restful). L'articolo descrive anche un valore aggiunto rispetto al semplice Flask come "Flask-RESTful fornisce un modo molto migliore per gestirlo con la classe RequestParser. Questa classe funziona in modo simile a argparse per gli argomenti della riga di comando." E molto del lavoro con la tua API è ancora qualcosa da fare con l'autenticazione e la sicurezza come parametri/controllo dei dati.

Thx to Miguel al blog eccellente. Sto usando il flacone riposante perché sembra abbastanza maturo.

Se il tuo bisogno è molto piccolo, allora penso che tu possa usare solo il pallone.

+7

Se si considera l'uso di flask-restful per il suo RequestParser, suggerisco di leggere quei collegamenti: http://flask-restful.readthedocs.io/en/0.3.5/reqparse.html e https://github.com/boccetta-ristoratore/boccetta-ristoratore/temi/335. Fondamentalmente, il parser della richiesta è deprecato a favore di webargs. È suggerito (e benedetto da dev fiasco-restful) che al giorno d'oggi, si potrebbe anche usare il flacone MethodView + flask-classful + marshmallow + webargs (flask-classful è un fork di flacone-classy abbandonato). –