文档中提供的示例描述了具有一条或几条路线的应用程序。每个url路径都有自己的类。对于有很多路线的情况,最佳做法是什么? 例如,我有以下RESTFul结构:
本地主机:8000 / my_part / A
本地主机:8000 / my_part / B
本地主机:8000 / my_part / A /默认
本地主机:8000 / my_part / B /特殊
等等。
我该怎么做:
请注意,'default'和'special'不是变量,而是实际路线。
答案 0 :(得分:0)
如果你有大量的URL(或者想要轻松管理),那么将它们分组并将每个URL存储在不同的文件中。
即。您可以将它们分组如下:
假设您可以将“/ my_part / A”,“/ my_part / A / default”等组合在一起,并将它们存储在“routes-a.py”中。
类似地“/ my_part / B”,“/ my_part / B / special”等等并将它们存储在“routes-b.py”中。 之后,只需在单个文件中导入所有路由并使用它。
据我所知,每个都是URL,所以每个都有单独的GET和POST请求,所以我认为你应该只使用单独的类。对于所有人来说单一类似乎是个坏主意(在这种情况下将来很难维护)。
之后只需将所有文件导入单个文件并使用它。
我还建议你只在一个单独的文件中编写该类。不要在一个文件中写入所有内容。所以稍后您可以轻松识别仅使用文件名。
让我们再举一个例子来考虑: 档案“falcon_app.py”
import falcon
app = falcon.API()
文件“routes_a.py”并在文件“class_A.py”中存储必需的类
from class_A import *
from falcon_app import app
app.add_route("/my_part/A/", MyPartA())
app.add_route("/my_part/A/default/", MyPartADefault())
和 对于文件“routes_b.py”并在文件“class_B.py”中存储必需的类
from class_B import *
from falcon_app import app
app.add_route("/my_part/B/", MyPartB())
app.add_route("/my_part/B/special/", MyPartBSpecial())
现在,将所有单个文件合并为“routes.py”
from routes_a import *
from routes_b import *
我希望这会对你有所帮助。如果我错过了什么,请告诉我。
答案 1 :(得分:0)
将它们分组到不同的文件是迄今为止最好的方法,因为这里没有蓝图概念,就像在Flask上一样。
当然,您可以构建一个模块来处理属于同一组的所有类/资源的路由,因为所有类都将存在于相同的前缀下,例如' / api / v1'和' / api / v2'
特别是对于这种情况,需要多个API,我已经构建了一个可以同时使用烧瓶和猎鹰的轻量级框架,让您可以使用它自己的端点配置不同的api,并且让你快速起步和跑步。