Django-restframework08 模式和客户端库

本文介绍了Django-restframework中模式和客户端库的使用。核心API提供了架构支持,包括Core JSON、Open API等实现。文章还讨论了如何添加模式schema,并展示了如何通过命令行模拟客户端进行交互。

1. 内容

  1. 核心API
  2. 添加一个模式
  3. 利用命令行客户端
  4. 客户端认证
  5. 回顾我们之前的工作

2. 核心API

提供架构支持,使用Core API
Core API简介
1. 用于表示Web API的与格式无关的文档对象模型。
2. 可以用于表示模式或超媒体响应,并允许您在应用程序界面层而不是网络接口与API进行交互
3. Core API目前具有可用于Core JSON,Open API / Swagger, HAL和JSON Hyper-Schema的实现
4. Core API规范有三层:
- 文件层: 客户端与之交互的抽象对象接口,
- 编码层: 文档和字节串之间的映射
- 传输层: 如何将文档交互映射到网络请求
任何一个Core API接口的顶级元素始终为Document,文档总有一个关联的url,还应该有一个标题。链接是页面提供的可用交互点,核心API具有就地转换的特点,标记为就地的链接就会对文档进行部分转换,“put”,“patch”和“delete”操作默认为就地。链接之后的错误为一组键值对,用于表示与失败转换相关联的任何错误信息。

3. 添加模式schema

# 安装:pip install coreapi
from rest_framework.schemas import get_schema_view
# 一个自动生成的模式视图来为API添加模式
schema_view = get_schema_view(title='Pastebin API')

urlpatterns = [
    url(r'^schema/$', schema_view),
    ...
]

命令行操作,指定所需类型:
$ http http://127.0.0.1:8000/schema/ Accept:application/coreapi+json

4. 使用命令行模拟客户端

pip install coreapi-cli
coreapi # 查看coreapi介绍
# 使用命令行客户机加载API模式
coreapi get http://127.0.0.1:8000/schema/
# 列出所有片段
coreapi action snippets list
# 某些api端点需要命名参数的,例如,要获取特定代码段的高亮度HTML,我们需要提供一个id。
coreapi action snippets highlight --param id=1
# 认证我们的客户
coreapi credentials add 127.0.0.1 <username>:<password> --auth basic
# 再次交互,就可以看到一整套可用的交互
coreapi reload
# 再次与这些端点交互,传入的参数 前必须有 --param
coreapi action snippets create --param title="Example" --param code="print('hello, world')"
# 删除片段
coreapi action snippets delete --param id=7
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆豆orz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值