JSON:API支持库。
项目描述
kt.jsonapi 支持使用应用对象的适配来生成 JSON:API 响应。
目前不提供 JSON:API 的输入验证,但计划在将来提供。
当前实现与 Flask 网络框架兼容。
发布历史
1.7.0 (2022-09-14)
放弃对Python 3.6的支持。
更新以支持Flask 2.2及更高版本,而不产生弃用警告。使用 app.json 或 app.json_provider_class 而不是 app.json_encoder 的更改会影响许多自行驱动响应生成应用程序。
1.6.1 (2022-05-12)
添加缺少的 long_description 软件包元数据。
1.6.0 (2022-05-03)
kt.jsonapi 的首次公开发布。
添加了对Python 3.10和3.11的支持。
1.5.0 (2021-09-20)
错误修复:上下文方法 created() 和 resource() 可以将主数据序列化为 included 以及 data,如果包含主数据的循环关系传递给调用。
修复从 resource 测试继承的测试,使其在作为 created 测试的一部分运行时实际上调用 created 方法。
添加响应方法 related() 以生成关系目标的序列化响应。这对于可变的一对多关系很有用,因为 related 资源链接 不能因为引用资源的变化而更改。
允许Flask应用程序提供专门的上下文实现,这些实现可以提供适当的JSON:API对象值。
支持对所有响应进行JSON:API对象的序列化。
避免在context()和error_context()高级函数中发生意外链式异常。
1.4.0 (2021-05-24)
支持对链接和错误对象进行JSON:API 1.1增强。
对于主要数据是关系的情况,适当支持include和fields。这反映了关系接口通过name属性的扩展,该属性仍然是可选的;如果不存在,include和fields将继续生成错误。
即使在fields[...]参数排除了关系本身的情况下,也包含在include查询参数中标识的关系中的内容。
更新到现代PyPA工具推荐。
1.3.0 (2021-03-26)
支持使用新的上下文方法通过适配进行错误序列化。这包括在单个响应中支持多个错误对象。这不会导致JSON:API错误自动从上下文的响应方法返回,因为从计划响应切换到错误响应应调用内容协商;这留给集成层处理。
支持使用include查询字符串参数无法包含在复合文档中的关系。请求包含不可包含关系的资源将引发异常,指示将引发一个400 Bad Request响应。否则,关系将没有data元素进行序列化;根据需要只包括links和meta。
1.2.1 (2021-01-12)
支持集合和多对多关系中的None分页链接。
将空的include查询参数视为空的关系路径列表。这之前被无声地处理为空的关系路径,尽管这是无效的。https://github.com/json-api/json-api/issues/1530
1.2.0 (2021-01-04)
管理顶级self和分页链接的查询参数。这可能对处理查询参数本身的应用程序是一个重大的变化。https://github.com/json-api/json-api/issues/1502
修复了为关系生成链接的问题,以正确处理面向集合的查询参数(filter、page、sort)。
验证传递给include查询参数的关系路径。
将Context对象的构造函数更改为接受Flask应用程序和请求对象,并更新调用位置以在传入之前取消代理它们。这(稍微)提高了构建的上下文的弹性,使其对源线程的依赖性更低。
将Link对象的构造函数签名更改为接受一个meta参数,而不是将关键字参数组装成字典以包含任意元数据。这将允许未来对具有更特定解释的参数有更多的灵活性。
1.1.0 (2020-10-27)
在上下文对象上添加了created()方法,用于返回包含新创建资源的响应。类似于resource(),它返回一个201状态码和创建资源的序列化。
1.0.1 (2020-09-18)
支持显式请求不按资源类型接收任何字段。这反映了最近添加到JSON:API规范的澄清。
如果请求中包含 include 查询参数,即使值为空列表,也提供 included。这提高了与 JSON:API 1.1 的兼容性。https://github.com/json-api/json-api/issues/1230
在关系实现中,将源对象适配为 IResource。
1.0.0 (2020-07-09)
首次发布,仅限于 Keeper Technology, LLC 内部使用。
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分布
构建分布
kt.jsonapi-1.7.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 718af192f3fc446c4936c0c649838b5c05f4da792e8b0e7cef2057493c3444f2 |
|
MD5 | a3b8fe527fa001e59ea386d9dc1e0aef |
|
BLAKE2b-256 | 7a741958cb7592580ffcce1a87fbd15c6fedb4b80a45c5d4abd58504001c91c2 |
kt.jsonapi-1.7.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 30c4d33823ef5d58d6c923c59702741411066140a26e9ad6a191ef598252e464 |
|
MD5 | f4e29c74d0fbd9141516824f0184be9c |
|
BLAKE2b-256 | b38dd99642f11112b8e4ac932198ad04af855d5ace54f86c0e4a2fa44f1225a7 |