我正在尝试为使用aiohttp库的python 3 asyncio程序创建一个REST API应用程序。asyncio REST API动态路由
在此程序中,我管理的对象由更多对象组成,例如管理包含许多不同产品的客户购物车的对象,例如 。
将新对象(产品)添加到容器(购物车)时,我希望它是一个具有独特功能的子应用程序,例如,乳制品将具有到期日期,饮料将具有酒精百分比。
的问题是,需要不同产品的不同路径解析为不同的子应用,例如: 如果我们的路径格式是: /{cart_id}/{product_name}
则:
/1/milk
- >需要到解决到乳品分应用,而
/1/whiskey
- >需要解决饮料子应用。
我还希望子应用程序有权访问{cart_id}值。
总的来说,这些子应用程序类型只有大约3个,因此不需要非常复杂的解决方案。
我目前正在重写aiohttp.Router类来禁止它冻结,以允许动态添加路线,但这是非常可怕的。
如果有人遇到过类似的问题,或者可以指点我一个更好的解决方案,这将是非常有益的。
该解决方案仅适用于单一路径,我希望为不同类型的产品提供完整的不同路径集合。 – roundmilf
您仍然可以使用不同的路径,只需在路由器视图的路径中使用[variables](http://aiohttp.readthedocs.io/en/stable/web.html#variable-resources)即可。 – SColvin
谢谢!完美的作品 – roundmilf