求推荐一个 Python restful 框架

2022 年 4 月 27 日
 datadump

1.因为有接近 10 个不同的 python 算法模块,希望使用 flask ,封装成 restful 接口给其它人使用

2.希望可以提供这样的编程方式

当用户发了一个 post 请求,比如 https://xxx.com/xxxCreate 后,从 cookie 得到 token (已经有了主系统,登录什么的已经做好了,这个是 token 是用户登录成功后的凭证), 根据 token 从数据库查询当前用户的权限列表: ["module1:func1:create", "module1:func1:delete"]

(1) 这个 id 查到的权限列表里面有 "module1:func1:create",就放行,执行 myCreate(myobj) (2) 这个 id 查到的权限列表里面没有 "module1:func1:create",直接返回:{"result": "err", "reason": "need permission"}

有木有简单的解决方案,两三个库组合也行,不要太重的,python 只写过不到 100 行规模的程序,万分感谢

5178 次点击
所在节点    Python
14 条回复
fff333
2022 年 4 月 27 日
drf
2828kakafa
2022 年 4 月 28 日
fastapi
cz5424
2022 年 4 月 28 日
fastapi 和 flask 都可以,权限要自己实现,drf 很重,但是后期加 restful 接口很快
windvans
2022 年 4 月 28 日
这就是 flask 的代码吧
datadump
2022 年 4 月 28 日
@cz5424
谢谢
第一次知道 fastapi ,看了下介绍好像是个异步框架。直觉 hold 不住,资料也没有 flask 多,先暂定 flask 吧

权限要自己实现--->对的,flask rest 的例子很简单。现在的问题就是权限想做的更方便一点(权限服务有个 java 后端已经做好了),能够和业务解耦

看到 Blueprint 有个 before_app_request 的装饰器,在这里面验证权限可以吗:
![]( https://user-images.githubusercontent.com/5556482/165659396-2fec00de-7654-4b49-b5ee-7b471de2b1c9.png)

基础有点差,还请不吝指导~~~
cz5424
2022 年 4 月 28 日
@wjx0912 你不是定义了装饰器吗,在装饰器实现就可以了
datadump
2022 年 4 月 28 日
@cz5424 我先按这个思路做一下,谢啦
datadump
2022 年 4 月 28 日
Baloneo
2022 年 4 月 29 日
frostming
2022 年 5 月 1 日
lolizeppelin
2022 年 5 月 2 日
WebOb+Paste+PasteDeploy+pecan


手动狗头 23333
lolizeppelin
2022 年 5 月 2 日
你这需求...其实用 openresty 做最好
nginx 里用 lua 解析 token 后 proxy pass 就是

写法还能改的话参考 oslo_policy 怎么做的
datadump
2022 年 5 月 5 日
@Baloneo @frostming @lolizeppelin
谢谢。代码已经撸完了。用的 flask+装饰器
datadump
2022 年 5 月 5 日
@lolizeppelin
openresty 不错的思路,以后要是重构的话估计考虑它,谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/849660

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX