我想使用Bottle for Python 3.6设计一个API,但是我没有看到如何将路由绑定到具有瓶子属性的函数,因为不允许使用@self.bottle.route...
装饰器。
我所拥有的是:
from bottle import Bottle, request
class API_v1:
def __init__(self, repository):
self.bottle = Bottle()
self.repository = repository
@self.bottle.error(400)
def error400(error):
return error.body
@self.bottle.error(500)
def error500(error):
return f'Technical exception : {error.body}'
@self.bottle.put('/job')
def job():
#do stuff with repository
return ''
(注意所有函数都在__init__
内初始化,这很糟糕)
我想要的是:
from bottle import Bottle, request
class API_v1:
def __init__(self, repository):
self.bottle = Bottle()
self.repository = repository
@self.bottle.error(400)
def error400(self, error):
return error.body
@self.bottle.error(500)
def error500(self, error):
return f'Technical exception : {error.body}'
@self.bottle.put('/job')
def job(self):
#do stuff with repository
return ''
最好的pythonic方法是什么?