django rest框架之上的自以为是的api框架

tg-apicore的Python项目详细描述


Thorgate API核心

https://img.shields.io/pypi/v/tg-apicore.svghttps://img.shields.io/travis/thorgate/tg-apicore.svgDocumentation Status

在django rest框架之上的自以为是的api框架

  • 免费软件:ISC许可证

支持python 3.5+、django 1.11+、django rest framework3.6+

功能

  • 从视图自动生成的API文档
    • 可以添加一般介绍
    • 您可以添加示例请求/响应数据
    • 自动生成的基于python请求的示例
    • 尚未交互
  • 集成JSON API
    • 可配置页面大小的光标分页
  • 用于使用不同序列化程序的视图集类和用于列表/详细信息/编辑终结点的查询集
  • 特定于API的404视图
  • 测试实用程序,例如用于响应验证
  • 版本控制(WIP)

使用量

  • 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目录。

学分

这个包是用Cookiecutteraudreyr/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)
  • 添加了CreateOnlyFieldsSerializerMixin、MaulalValueSerialSerialSeriMin和BaseMeldSerialServer
  • 已将apicumentationview.get_patterns()重命名为.urlpatterns()
  • 改进了很多示例应用程序。它现在还包括部分测试tg apicore本身的测试

0.1.0(2018-03-08)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException