「这是我参与11月更文挑战的第16天,活动详情查看:2021最后一次更文挑战」。
前言
在前面的Api
开发中,我们使用FastApi
已经可以很好的实现。但是实际使用中,我们通常建议前后端项目分离。今天我们就使用FastApi+Vue+LayUI
做一个前后端分离的Demo
。
项目设计
后端
后端我们采用FastApi
在新的test
视图中,定义一个路由,并将其注册到app
中,并且在test
视图中定义一个接口,实现模拟从数据库读取数据供前端调用渲染。
代码
test.py
1 | python复制代码from fastapi import FastAPI,Depends,Header,HTTPException,APIRouter |
前端
前端我们直接导入Vue、LayUI、Axios
的JS
和CSS
的CDN
资源,在Vue
实例的mount
阶段,使用axios
调用后端接口拿到数据,使用LayUI
的样式对table
元素进行美化。
代码
1 | html复制代码<!DOCTYPE html> |
运行项目
启动 FastApi
后端服务器,访问 /test/check
接口。
Q&A
Q:为什么在请求/info
接口总会出现一个 Temporary Redirect
重定向呢?
A:原因是因为我们在 FastApi
接口定义的时候,uri
的格式不规范导致,uri
的结尾不需要/
,如果你接口增加了/
,我们使用浏览器访问 uri
,浏览器会忽略结尾的/
,FastApi
会在内部进行查重定向,将浏览器不带/
的请求重定向到我们定义的带/
的视图函数上。
本文转载自: 掘金