终点在烧瓶中意味着什么

时间:2017-07-14 04:29:26

标签: python rest flask-restful

我使用flask-restful定义了一些名为WorkerAPI的资源,计划是处理来自/api/workers/new的POST请求和来自/api/workers/的GET请求。使用以下代码时

api.add_resource(WorkerAPI, '/api/workers/new')
api.add_resource(WorkerAPI, '/api/workers/')

我收到错误:

  

AssertionError:视图函数映射正在覆盖现有的端点函数:workerapi

然后我尝试使用以下,这似乎有效,虽然我不知道它为什么有效。

api.add_resource(WorkerAPI, '/api/workers/new', endpoint='/workers/new')
api.add_resource(WorkerAPI, '/api/workers/', endpoint='/workers/')

虽然对我来说看起来像是多余的信息。只要将两个endpoint定义为不同的字符串,该网站似乎就可以正常工作。 endpoint在这里意味着什么?

1 个答案:

答案 0 :(得分:3)

问题是add_resource函数使用给定的endpoint向框架注册路由。如果没有给出endpoint,那么Flask-RESTful会从类名中为您生成一个。

您的案例为WorkerAPI,端点对于这两种方法将为workerapi,最好使endpoint显式,并避免注册冲突的端点名称。

对于什么样的终端,您可以参考this answer了解更多详情。