现在它结束了定义模型和BD的部分,我将为每个实体构建相应的终点。
但是,在继续之前,我决定更改课程的体系结构,以通过部分将它们分开。
新体系结构
文件夹如下:
- color
-- color_model.py: la clase Color que estaba en models.py
- vote
-- vote_model.py: la clase Vote que estaba en models.py
当然,在create_db.py上我必须修改导入:
import color
import vote
我知道,如果我们将其与以前的解决方案进行比较,这似乎似乎是搜索,但是随着时间的流逝,正如我们认为新组件一样,他们会注意到这是一个很好的决定。
路线
原则上,我将创建两个路由文件(color_routes.py and dovel_routes.py),它将包含一个简单的“ hello”,并将链接到我们的路由:
from color.color_routes import color_router
from vote.vote_routes import vote_router
app.include_router(color_router)
app.include_router(vote_router)
导入调用“ color.color_routes”,因为颜色文件夹内有一个color_routes.py,它还包含color_model.py。他们是否强调了由实体分开代码的重要性?
现在,在color_routes中。让我们看看我里面有什么:
from fastapi import APIRouter, status
color_router = APIRouter(
prefix='/color',
tags=['color']
)
@color_router.get('/', status_code=status.HTTP_200_OK)
async def home():
return "hello api color!"
“前缀”属性将负责为我们提供“ http://127.0.0.1:8000/color”样式的URL以及有关标签的URL,我们稍后将看到此属性的有用性。
您可以看到,以前是“应用程序”的获取更改,因为我们的路由器现在为color_router。
顺便说一句,“@”意味着它是装饰器(或装饰器),这是Python的功能,允许其他代码生成执行时间。我们将详细研究它们。
现在我们已经实现了路由器,我们可以尝试运行服务器并调用“ http://127.0.0.1:8000/color”或“ http://127.0.0.1:8000/vote”,因为我们在我们俩中都做了同样的事情。这将给出“ Hello API颜色!”的回应。或“您好API投票!”根据我们使用的路线。
结论
现在我们有了准备好的路线,将生成每个实体的相应端点;这将通过会话对象咨询我们的数据库。我们将在下一次交付中看到它。