flask 中的端点是什么意思-restful
what does endpoint mean in 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: View function mapping is overwriting an existing endpoint function: workerapi
然后我尝试使用下面的,这似乎有效,虽然我不知道它为什么有效。
api.add_resource(WorkerAPI, '/api/workers/new', endpoint='/workers/new')
api.add_resource(WorkerAPI, '/api/workers/', endpoint='/workers/')
虽然对我来说这看起来像是多余的信息。只要将两个 endpoint
定义为不同的字符串,该站点似乎就可以正常工作。 endpoint
在这里是什么意思?
问题是 add_resource
函数使用给定的 endpoint
向框架注册路由。如果未给出 endpoint
,则 Flask-RESTful 会根据 class 名称为您生成一个。
您的情况是 WorkerAPI
,这两种方法的端点将是 workerapi
,最好明确 endpoint
并避免注册冲突的端点名称。
什么是端点,可以参考this answer了解更多详情
'endpoint' 实际上是一个标识符,用于确定代码的哪个逻辑单元应该处理特定请求。
因此,URL 路径映射到端点,然后端点映射到 Flask 应用程序中的视图函数。
在你的例子中,当你为你的资源明确定义你的端点时,它有助于 flask 应用程序在内部有效地将它映射到一个路由列表,而当你没有明确定义它时,flask 会采用一些默认值,正如@Tiny.D在上面的回答中所解释的那样。
我使用 flask-restful 定义了一些名为 WorkerAPI
的资源,计划处理来自 /api/workers/new
的 POST 请求和来自 /api/workers/
的 GET 请求.使用以下代码时
api.add_resource(WorkerAPI, '/api/workers/new')
api.add_resource(WorkerAPI, '/api/workers/')
我收到错误:
AssertionError: View function mapping is overwriting an existing endpoint function: workerapi
然后我尝试使用下面的,这似乎有效,虽然我不知道它为什么有效。
api.add_resource(WorkerAPI, '/api/workers/new', endpoint='/workers/new')
api.add_resource(WorkerAPI, '/api/workers/', endpoint='/workers/')
虽然对我来说这看起来像是多余的信息。只要将两个 endpoint
定义为不同的字符串,该站点似乎就可以正常工作。 endpoint
在这里是什么意思?
问题是 add_resource
函数使用给定的 endpoint
向框架注册路由。如果未给出 endpoint
,则 Flask-RESTful 会根据 class 名称为您生成一个。
您的情况是 WorkerAPI
,这两种方法的端点将是 workerapi
,最好明确 endpoint
并避免注册冲突的端点名称。
什么是端点,可以参考this answer了解更多详情
'endpoint' 实际上是一个标识符,用于确定代码的哪个逻辑单元应该处理特定请求。
因此,URL 路径映射到端点,然后端点映射到 Flask 应用程序中的视图函数。
在你的例子中,当你为你的资源明确定义你的端点时,它有助于 flask 应用程序在内部有效地将它映射到一个路由列表,而当你没有明确定义它时,flask 会采用一些默认值,正如@Tiny.D在上面的回答中所解释的那样。