求推荐一个 Python restful 框架

2022-04-27 21:40:29 +08:00
 wjx0912

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 行规模的程序,万分感谢

4039 次点击
所在节点    Python
14 条回复
fff333
2022-04-27 23:21:22 +08:00
drf
lidage
2022-04-28 01:01:00 +08:00
fastapi
cz5424
2022-04-28 01:07:23 +08:00
fastapi 和 flask 都可以,权限要自己实现,drf 很重,但是后期加 restful 接口很快
windvans
2022-04-28 08:54:30 +08:00
这就是 flask 的代码吧
wjx0912
2022-04-28 09:44:09 +08:00
@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-04-28 09:48:30 +08:00
@wjx0912 你不是定义了装饰器吗,在装饰器实现就可以了
wjx0912
2022-04-28 09:49:32 +08:00
@cz5424 我先按这个思路做一下,谢啦
wjx0912
2022-04-28 09:50:05 +08:00
Baloneo
2022-04-29 11:28:07 +08:00
frostming
2022-05-01 22:56:58 +08:00
lolizeppelin
2022-05-02 18:57:19 +08:00
WebOb+Paste+PasteDeploy+pecan


手动狗头 23333
lolizeppelin
2022-05-02 19:01:44 +08:00
你这需求...其实用 openresty 做最好
nginx 里用 lua 解析 token 后 proxy pass 就是

写法还能改的话参考 oslo_policy 怎么做的
wjx0912
2022-05-05 08:54:01 +08:00
@Baloneo @frostming @lolizeppelin
谢谢。代码已经撸完了。用的 flask+装饰器
wjx0912
2022-05-05 08:54:36 +08:00
@lolizeppelin
openresty 不错的思路,以后要是重构的话估计考虑它,谢谢

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

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

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

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

© 2021 V2EX