skip to navigation
skip to content

Flask-REST-Controller 1.0.0

Flask-REST-Controller is added Class-Based-View(Controller) extension on Flask

Flask-REST-Controller is added Class-Based-View(Controller) extension on Flask


  • Follow the RESTful design
  • provide of prepare authentication and request validation
    • other class based view library is not provided of validation
  • uniform routing management
    • The existing functional view is difficult to manage. Definition routing Scattered
  • JSON Response Validation with JSON Schema
    • It would be useful for creating an API :)


$ pip install flask-rest-controller


from flask import Flask
from flask_rest_controller import Controller, set_routing

app = Flask(__name__)
app.secret_key = '͏Š|    èg<Î|ÇæãhŽÖúÈi|î°'

class JsonController(Controller):
    schema = {
        'GET': {
            'type': 'array',
            'properties': {
                'id':   {
                    'type': 'string'
        'POST': {
            'type': 'object',
            'properties': {
                'result':   {
                    'type': 'string'
                'code': {
                    'type': 'integer'

    def get(self):
        return self.render_json(["Hello World"])

    def post(self):
        return self.render_json({'result': "ok", 'code': 200})

    ("/", "app.JsonController", "json_controller"),

set_routing(app, ROUTING)

if __name__ == "__main__":

Just save it as and try

$ python

Now head over to, and you should see your hello world of json string

You should see a post request result, try this command

$ curl --request POST

You should see that you json in the post method

see For other examples


  • Python2.6 later
  • jsonschema


  1. Fork it
  2. Create your feature branch (git checkout -b your-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin your-new-feature)
  5. Create a new Pull Request


  • MIT
File Type Py Version Uploaded on Size
Flask-REST-Controller-1.0.0.tar.gz (md5) Source 2015-07-05 5KB