Flask-Restaction 是什么?
写接口的新姿势,登录接口为例:
def post_login(self, account, password):
"""
登录
$input:
account?str: 用户 ID 或邮箱
password?str: 密码
$output: @user
$error:
403.UserNotFound: 帐号不存在
403.WrongPassword: 密码错误
"""
user = db.run(r.table("user").get(account))
if not user:
user = db.first(r.table("user").get_all(account, index="email"))
if not user:
abort(403, "UserNotFound", "帐号不存在")
# ...省略若干逻辑
g.token = {"type": "login", "id": user["id"]}
return user
Github: https://github.com/guyskk/flask-restaction
介绍完了,说一些我的碎碎念。
原本我是打算等框架再成熟一些(大概会是半年之后)再来介绍的,但因为一些原因,我决定早点分享给大家。
这个框架从第一个 Commit 到现在有一年多了,内部有两个小项目在用(一个是我自己负责的,另一个是一个学弟负责,题主目前大三)。 还有一个是开源项目PurePage,这个项目很早就开始了, 中间换了一次数据库,最近一次重写是在一周前,我花了两天时间写 API 和接口测试,三天写前端(还没写完), 现在我又没有方向了,不清楚自己到底想把它做成什么样。 暂时先把它当作一个 Demo ,大家可以看生成的API 文档,Chrome打开控制台就能用生成的JS,非常欢迎各位提建议!
另一个原因就是昨天看到Sanic is a Flask-like Python 3.5+ web server that's written to go fast.。 我打算让 Flask-Restaction 适配 Sanic ,这样就能愉快的写异步 API 了。 另外没在这里看到有 Sanic 的讨论,有兴趣的朋友出来聊聊吧。
最后一个原因是我决定这周把英文文档写出来,其实早就有这个想法,但一直畏难+懒,题主英文写作比较菜, 重度依赖词典>﹏<。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.