I\'m about to develop a REST API for our upcoming application. I have decided to use Python Flask for it. But at this point, I don\'t know which option to use. Should I be using
REST is a pretty flexible architecture, but there's a few points worth thinking about in your approach using just Flask, which Flask-RESTful is encouraging you away from:
By convention, a GET on a single resource (e.g. /users/1234) is by a unique identifier for the resource. The name of a user can't be guaranteed to be unique, so it would be risky to have it as an identifier within the URI (e.g. /users/joe).
When you access users within a collection, it's better to stick with the plural noun throughout (not, as you show in your Flask example, /user/...).
When you're creating and using POST, unless your client is specifying the id (in which case it has to be able to guarantee uniqueness, so pretty much the only valid id would be a UUID), you can post to just the collections URI (e.g. /users/).
Either will work, but with Flask-RESTful you'll find that when you follow those guidelines, your class matches your resources much more closely and you won't see the proliferation of classes you describe.
A very similar use case is demonstrated at https://flask-restful.readthedocs.io/en/latest/quickstart.html#full-example.
I would recommend you to use Flask-RESTplus instead, that will give you full Swagger support.
In regards of just using Flask, I would say getting the Swagger functionality is a big one to choose Flask-Restplus also.