UtilMeta 框架需要 Python 版本 >= 3.81. 创建项目
为了简化案例,我们选择了基于数据库的 Session 实现(DBSession),实际开发中,我们常常使用 Redis 等缓存作为 Session 的存储实现,或者使用 缓存+数据库 的方式,这些实现方式 UtilMeta 都支持,你可以在 Session 鉴权文档 中找到更多的使用方式另外在代码中我们也声明了 user_config 用户鉴权配置,其中的参数包括
UtilMeta 实现了一套高效的声明式 ORM 查询体系,我们在声明 Schema 类时便使用 orm.Schema[User] 绑定了模型,这样我们就可以通过它的方法来实现数据的增删改查了,你可以在 数据查询与 ORM 文档 中查看它的更多用法另外我们发现在 UserAPI 类被施加了 @auth.session_config.plugin 这一装饰器插件,这是 Session 配置应用到 API 上的方式,这个插件能在每次请求结束后对请求所更新的 Session 数据进行保存,并返回对应的 Set-Cookie
当你的函数直接使用 get / put / patch / post / delete 等 HTTP 动词进行命名时,它们就会自动绑定对应的方法,路径与 API 类的路径保持一致,这些方法称为这个 API 类的核心方法至此我们的 API 就全部开发完成了
对于使用 Django 的 API 服务,请在导入任何模型或 API 前加入 service.setup() 完成服务的初始化,这样 django 才能正确识别所有的数据模型5. 运行 API
你可以通过调整 server.py 中的 UtilMeta 服务声明里的 host 和 port 参数来改变 API 服务监听的地址6. 调试 API
在 with 代码块中,客户端会记忆响应中 Set-Cookie 所存储的 cookies 并发送到接下来的请求中,所以我们可以看到与真实的浏览器类似的会话效果UtilMeta 服务实例的 get_client 方法用于获取一个服务的客户端实例,你可以直接调用这个实例的 get, post 等方法发起 HTTP 请求,将会得到一个 utilmeta.core.response.Response 响应,这与我们在 API 服务中生成的响应类型一致,其中常用的属性有
get_client 方法中的 live 参数如果没有开启,则是直接调用对应的接口函数进行调试,无需启动服务所以你也可以使用这个客户端编写单元测试,比如
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |