Skip to main content

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

Features

  • 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 :)

Installation

$ pip install flask-rest-controller

Usage

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})

ROUTING = [
    ("/", "app.JsonController", "json_controller"),
]

set_routing(app, ROUTING)

if __name__ == "__main__":
    app.run(debug=True)

Just save it as app.py and try

$ python app.py

Now head over to http://127.0.0.1:5000/, and you should see your hello world of json string

You should see a post request result, try this command

$ curl --request POST http://127.0.0.1:5000

You should see that you json in the post method

see https://github.com/teitei-tk/Flask-REST-Controller/tree/master/example For other examples

Dependencies

  • Python2.6 later

  • jsonschema

Contribute

  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

LICENSE

  • MIT

Metadata

Release files for Flask-REST-Controller 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Flask-REST-Controller 1.0.0
File Size Uploaded
Flask-REST-Controller-1.0.0.tar.gz 6.0 kB Details

Release files / Flask-REST-Controller-1.0.0.tar.gz

Download URL Flask-REST-Controller-1.0.0.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
47db8ba9dc8c471ddcaaf71af5608e651bbfd15f70756854d8c314b7d307a705
BLAKE2b-256 checksum
How to use checksums
76b8268e43806789aaaa42dea9c3555cb48d96cec7d36e1acbaeeaad8b9c16a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file

0.0.3

0.0.2

1 release file

0.0.1.3

1 release file

0.0.1.2

1 release file

0.0.1.1

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page