跳转到主要内容

JSON:API支持库。

项目描述

kt.jsonapi 支持使用应用对象的适配来生成 JSON:API 响应。

目前不提供 JSON:API 的输入验证,但计划在将来提供。

当前实现与 Flask 网络框架兼容。

发布历史

1.7.0 (2022-09-14)

  1. 放弃对Python 3.6的支持。

  2. 更新以支持Flask 2.2及更高版本,而不产生弃用警告。使用 app.jsonapp.json_provider_class 而不是 app.json_encoder 的更改会影响许多自行驱动响应生成应用程序。

1.6.1 (2022-05-12)

  1. 添加缺少的 long_description 软件包元数据。

1.6.0 (2022-05-03)

  1. kt.jsonapi 的首次公开发布。

  2. 添加了对Python 3.10和3.11的支持。

1.5.0 (2021-09-20)

  1. 错误修复:上下文方法 created()resource() 可以将主数据序列化为 included 以及 data,如果包含主数据的循环关系传递给调用。

  2. 修复从 resource 测试继承的测试,使其在作为 created 测试的一部分运行时实际上调用 created 方法。

  3. 添加响应方法 related() 以生成关系目标的序列化响应。这对于可变的一对多关系很有用,因为 related 资源链接 不能因为引用资源的变化而更改。

  4. 允许Flask应用程序提供专门的上下文实现,这些实现可以提供适当的JSON:API对象值。

  5. 支持对所有响应进行JSON:API对象的序列化。

  6. 避免在context()error_context()高级函数中发生意外链式异常。

1.4.0 (2021-05-24)

  1. 支持对链接和错误对象进行JSON:API 1.1增强。

  2. 对于主要数据是关系的情况,适当支持includefields。这反映了关系接口通过name属性的扩展,该属性仍然是可选的;如果不存在,includefields将继续生成错误。

  3. 即使在fields[...]参数排除了关系本身的情况下,也包含在include查询参数中标识的关系中的内容。

  4. 更新到现代PyPA工具推荐。

1.3.0 (2021-03-26)

  1. 支持使用新的上下文方法通过适配进行错误序列化。这包括在单个响应中支持多个错误对象。这不会导致JSON:API错误自动从上下文的响应方法返回,因为从计划响应切换到错误响应应调用内容协商;这留给集成层处理。

  2. 支持使用include查询字符串参数无法包含在复合文档中的关系。请求包含不可包含关系的资源将引发异常,指示将引发一个400 Bad Request响应。否则,关系将没有data元素进行序列化;根据需要只包括linksmeta

1.2.1 (2021-01-12)

  1. 支持集合和多对多关系中的None分页链接。

  2. 将空的include查询参数视为空的关系路径列表。这之前被无声地处理为空的关系路径,尽管这是无效的。https://github.com/json-api/json-api/issues/1530

1.2.0 (2021-01-04)

  1. 管理顶级self和分页链接的查询参数。这可能对处理查询参数本身的应用程序是一个重大的变化。https://github.com/json-api/json-api/issues/1502

  2. 修复了为关系生成链接的问题,以正确处理面向集合的查询参数(filterpagesort)。

  3. 验证传递给include查询参数的关系路径。

  4. Context对象的构造函数更改为接受Flask应用程序和请求对象,并更新调用位置以在传入之前取消代理它们。这(稍微)提高了构建的上下文的弹性,使其对源线程的依赖性更低。

  5. Link对象的构造函数签名更改为接受一个meta参数,而不是将关键字参数组装成字典以包含任意元数据。这将允许未来对具有更特定解释的参数有更多的灵活性。

1.1.0 (2020-10-27)

  1. 在上下文对象上添加了created()方法,用于返回包含新创建资源的响应。类似于resource(),它返回一个201状态码和创建资源的序列化。

1.0.1 (2020-09-18)

  1. 支持显式请求不按资源类型接收任何字段。这反映了最近添加到JSON:API规范的澄清。

  2. 如果请求中包含 include 查询参数,即使值为空列表,也提供 included。这提高了与 JSON:API 1.1 的兼容性。https://github.com/json-api/json-api/issues/1230

  3. 在关系实现中,将源对象适配为 IResource。

1.0.0 (2020-07-09)

首次发布,仅限于 Keeper Technology, LLC 内部使用。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分布

kt.jsonapi-1.7.0.tar.gz (21.7 kB 查看哈希值)

上传时间 源代码

构建分布

kt.jsonapi-1.7.0-py3-none-any.whl (23.0 kB 查看哈希值)

上传时间 Python 3

支持