3

文档中提供的示例描述了具有一个或几个路由的应用程序。每个 url 路径都有自己的类。对于有很多路线的情况,最佳做法是什么?例如,我有以下 RESTFul 结构:

本地主机:8000/my_part/A

本地主机:8000/my_part/B

本地主机:8000/my_part/A/默认

本地主机:8000/my_part/B/special

等等。

我应该怎么办:

  1. 为每个路径创建它自己的类
  2. 为“my_part”创建单个类并以某种方式区分该类中的 A、B(例如剥离 req.uri)
  3. 别的东西。

请注意,“默认”和“特殊”不是变量,而是实际路由。

4

2 回答 2

0

到目前为止,将它们分组到不同的文件是最好的方法,因为这里没有蓝图概念,因为它在 Flask 上。

当然,您可以构建一个模块来处理属于同一组的所有类/资源的路由,因为所有类/资源都将使用相同的前缀,例如“/api/v1”和“/api/v2”

特别是在这种情况下,如果需要多个 API,我已经构建了一个轻量级框架,可与 flask 和 falcon 一起使用,让您可以使用自己的端点配置不同的 api,并让您以超快的速度启动和运行。

你可以在这里查看:https ://github.com/sebastiandev/peach

于 2017-05-16T12:11:41.243 回答
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 *

我希望这能帮到您。如果我错过了什么,请告诉我。

于 2017-01-16T13:02:51.317 回答