Skip to main content

多级路由管理

什么是多级路由管理?

在路由管理中,按一定属性分类聚合路由的方法,可以叫多级路由管理。

或者也可以叫做路由组。

Pywss 通过 app.party 提供了路由组的能力,用于支持多级路由管理

下面通过一个案例来展示 多级路由管理。

案例
import pywss

def register_route(app: pywss.App):
app.get("/api/v1/docs")
app.get("/api/v2/docs")
app.get("/api/v3/docs")
app.get("/api/v1/author")
app.get("/api/v2/author")
app.get("/api/v3/author")
app.get("/api/v1/github")
app.get("/api/v2/github")
app.get("/api/v3/github")
app.get("/api/v1/history")
app.get("/api/v2/history")
app.get("/api/v3/history")

app = pywss.App()
register_route(app)
app.run()

在上面案例中我们可以看到服务一共注册了 12 个路由。

其中,包含了三个版本的接口:

  • /api/v1
  • /api/v2
  • /api/v3

并且这三个版本的接口都提供了四种能力:

  • /docs
  • /author
  • /github
  • /history

这也是非常常见的多版本接口设计方案。由于只注册了 12 个路由,整体来看还是比较清晰的。

下面,我们通过 app.party 来拆分多级路由。

import pywss

from v1 import register as register_v1
from v2 import register as register_v2
from v3 import register as register_v3

app = pywss.App()
v1 = app.party("/api/v1")
v2 = app.party("/api/v2")
v2 = app.party("/api/v3")

register_v1(v1)
register_v2(v2)
register_v3(v3)

app.run()

可以看到,经过我们这一套拆下来,明显没以前直观了😥

但是有经验的程序员应该已经懂了😤