在flaskrestful中,我们添加了一个如下所示的api路径
api.add_resource(CuteKitty,'/api/kitty')
class CuteKitty(Resource):
def get(self): return {}
def post(self): return {}
def put(self): return {}
def delete(self): return None, 204
因此,GET /api/kitty
-->;to CuteKitty.get()
方法;对所有HTTP动词都是这样
假设我需要为我的api用户提供一个可爱的api
^{pr2}$如何使用api.add_resource
实现上述路由
class CuteKitty(Resource):
def get(self): return {}
def post(self): return {}
def put(self): return {}
def delete(self): return None, 204
def drink(self,what="milk"): return {}
def meow(self): return {}
如何添加路由,如/api/kitty/<int:kitty_id>/habits
-->;CuteKitty.habits(kitty_id)
flaskrestful旨在通过解释HTTP请求方法来实现restfulapi。饮料和Meow不是标准的HTTP方法,因此flaskrestful不关心资源中的}方法。在
drink
和{解决方法是定义多个API路由:
不那么直观(在我看来更糟)的方法是创建一个坦率的资源:
^{pr2}$然后用
split('/')
中断参数并用它们调用task。或者,您可以将这些设置为URL参数(/endpoint/?task=drink&what=milk
),这仍然是一个有效的RESTful架构。在您也可以将Resource类的子类化并自己实现所需的功能。在这种情况下,我建议您看看Flask Classy是如何实现这一点的。或者,你可以拿起Flask Classy来玩玩它,看看你是如何喜欢它的;然而,对于一个直截了当的API,RESTful带来的不仅仅是优雅。在
相关问题 更多 >
编程相关推荐