django rest框架之上的自以为是的api框架
tg-apicore的Python项目详细描述
Thorgate API核心
在django rest框架之上的自以为是的api框架
- 免费软件:ISC许可证
支持python 3.5+、django 1.11+、django rest framework3.6+
功能
- 从视图自动生成的API文档
- 可以添加一般介绍
- 您可以添加示例请求/响应数据
- 自动生成的基于python请求的示例
- 尚未交互
- 集成JSON API
- 可配置页面大小的光标分页
- 用于使用不同序列化程序的视图集类和用于列表/详细信息/编辑终结点的查询集
- 特定于API的404视图
- 测试实用程序,例如用于响应验证
- 版本控制(WIP)
- 基于变压器的方法,灵感来自 djangorestframework-version-transforms 以及Stripe
使用量
pip install tg-apicore
将tg_apicore添加到INSTALLED_APPS
确保您的REST_FRAMEWORK设置包含ALLOWED_VERSIONS,例如:
# In your Django project settings:REST_FRAMEWORK={'ALLOWED_VERSIONS':('2018-01-01',),}
注意,默认的paginator要求您的模型具有created字段
通过子类化APIDocumentationView并进行必要的修改来创建api文档视图。 例如,请参见example/example/views.py。
添加主api url和404视图(作为回退)。
下面是一个例子urls.py:
fromtg_apicore.viewsimportPageNotFoundViewfrommyproject.viewsimportMyProjectAPIDocumentationViewurlpatterns=[# The documentation viewurl(r'^api-docs/',MyProjectAPIDocumentationView.as_view(),name='api-docs'),# myproject.urls_api should contain your API urls patternsurl(r'^api/(?P<version>(\d{4}-\d{2}-\d{2}))/',include('myproject.urls_api')),# API-specific 404 for everything under api/ prefixurl(r'^api/',include(PageNotFoundView.urlpatterns())),]
有关更深入的演示,请参见example目录。
学分
这个包是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。
历史记录
0.3.0(2018-05-23)
- 在自述文件中添加用法部分(使启动更容易)
- 大多数REST_FRAMEWORK设置现在由Thorgate API核心自动配置。 用户只需要指定ALLOWED_VERSIONS,其余是可选的。
0.2.1(2018-04-14)
- 固定包装(不包括tg_apicore subdirs)
0.2.0(2018-04-14)
- 添加了PageNotFoundView(基于JSON的404视图)
- 添加了detailserializerviewset(列表/详细信息/编辑视图的不同序列化程序和queryset)
- 已将apicumentationview.get_patterns()重命名为.urlpatterns()
- 改进了很多示例应用程序。它现在还包括部分测试tg apicore本身的测试
0.1.0(2018-03-08)
- pypi上的第一个版本。