Build a REST API with Flask
Project description
Flask-RESTly
Quick start
pip install flask-restly
By default flask-restly
uses JSON serializer.
from flask import Flask
from flask_restly import FlaskRestly
from flask_restly.decorator import resource, get, delete
app = Flask(__name__)
rest = FlaskRestly(app)
rest.init_app(app)
@resource(name='employees')
class EmployeesResource:
@get('/<id>')
def get_employee(self, id):
return dict(id=int(id))
@get('/')
def get_employees(self):
return dict(entites=[
dict(id=1),
dict(id=2)
])
@delete('/<id>')
def delete_employee(self, **kwargs):
return
with app.app_context():
EmployeesResource()
if __name__ == "__main__":
app.run(host='127.0.0.1', port=5001, debug=True)
$ python main.py
* Serving Flask app "main" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: on
* Restarting with stat
* Debugger is active!
* Debugger PIN: 210-167-642
* Running on http://127.0.0.1:5001/ (Press CTRL+C to quit)
Features
- Decorators-based routing
- JSON and Protobuf built-in serialization
- Custom serializer support
- Authorization and authentication decorators
- Automatic REST-like response codes
- API versioning
- Rating limits
Todo
- HATEOAS/HAL
Usage
Please see examples for more details.
Settings
Name | Default value |
---|---|
RESTLY_SERIALIZER: <flask_restly.serializer.SerializerBase> |
flask_restly.serializer.json |
RESTLY_API_PREFIX: <str> |
/api/rest |
RESTLY_PROTOBUF_MIMETYPE: <str> |
application/x-protobuf |
RESTLY_RATE_LIMIT_REQUESTS_AMOUNT: <int> |
100 |
RESTLY_RATE_LIMIT_WINDOW_SECONDS: <int> |
60 |
Docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
flask-restly-1.1.0.tar.gz
(13.4 kB
view details)
Built Distribution
File details
Details for the file flask-restly-1.1.0.tar.gz
.
File metadata
- Download URL: flask-restly-1.1.0.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6afb633558794f030e0c87d1c7eb8cc4b93cbe79a3d2fe2cdb6f87ec69e457b5 |
|
MD5 | c7d84682aab6de9529f5f62686f417c9 |
|
BLAKE2b-256 | 575367531c77f1d183d021b753577d33c1e716daed3d442697da6bd3d080ab1c |
File details
Details for the file flask_restly-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: flask_restly-1.1.0-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b356b0586a6a16027e679fee6fe3e5c8218fa1b8110adcaec0d16a99a645bc38 |
|
MD5 | e3cdef312f50d0fca668342cbb852a0d |
|
BLAKE2b-256 | 845fd0a1eac341dfaa59081b3a845bf785639cf768935d479ff95b47c41dd2a0 |