api接口扩展接口¶
-
class
cool.views.
ErrorCode
¶ 错误码管理,通过
API_ERROR_CODES
中配置
class TreeSerializer1(self):
children = ListField(child=RecursiveField())
class TreeSerializer2(self):
children = RecursiveField(many=True, allow_empty=True)
class TestSerializer2(self):
parent = RecursiveField(allow_null=True)
-
cool.views.
get_api_doc
(request=None, template_name='cool/views/api_doc.md', base_view=<class 'cool.views.view.CoolBFFAPIView'>, exclude_params=(), exclude_base_view_params=True, exclude_views=())[源代码]¶ 生成api文档
参数: - request – 请求request
- template_name – 接口模板
- base_view – 接口视图基类
- exclude_params – 排除参数
- exclude_base_view_params – 是否排除基类中参数
- exclude_views – 排除接口视图
-
cool.views.
get_api_doc_html
(request, *args, md_template_name='cool/views/api_doc.md', base_view=<class 'cool.views.view.CoolBFFAPIView'>, exclude_params=(), exclude_base_view_params=True, exclude_views=(), title='Api Document', toc_left=True, **kwargs)[源代码]¶ 生成api文档(markdown转html,依赖markdown)
参数: - request – 请求request
- md_template_name – 接口模板
- base_view – 接口视图基类
- exclude_params – 排除参数
- exclude_base_view_params – 是否排除基类中参数
- exclude_views – 排除接口视图
- title – 文档标题
- toc_left – 宽浏览器中目录显示在左侧
urlpatterns = [
path('api_doc.html', get_api_doc_html)
]
-
cool.views.
get_api_info
(base_view=<class 'cool.views.view.CoolBFFAPIView'>, base_params=(), add_base_view_params=True, exclude_views=())[源代码]¶ 获取api接口信息
参数: - base_view – 接口视图基类
- base_params – 公共参数
- add_base_view_params – 基类中参数增加到公共参数
- exclude_views – 排除接口视图
返回格式:
{
'exclude_params': ['排除字段列表'],
'error_codes': [{'tag': '错误码标签', 'code': '错误码', 'desc': '错误码描述'}],
'apis': [
{
'name': '接口名称',
'url': '接口url',
'ul_name': '接口唯一标识(可以用于函数名)',
'info': {
'request_info': '请求参数列表',
'response_info': '返回数据结构',
'response_info_format': '返回数据结构json格式化'
},
'suggest_method': '建议请求方式',
'content_type': '建议使用content_type'
}
]
}
-
class
cool.views.
CoolBFFAPIView
[源代码]¶ Backend For Frontend APIView
-
SYSTEM_ERROR_STATUS_CODE
¶
默认值为
API_SYSTEM_ERROR_STATUS_CODE
-
PARAM_ERROR_STATUS_CODE
¶
默认值为
API_PARAM_ERROR_STATUS_CODE
-
SUCCESS_WITH_CODE_MSG
¶
默认值为
API_SUCCESS_WITH_CODE_MSG
-
SHOW_PARAM_ERROR_INFO
¶
默认值为
API_SHOW_PARAM_ERROR_INFO
-
response_info_serializer_class
¶
返回结果序列化类
-
response_many
¶
返回结果是否为列表
-
support_methods
¶
支持的请求类型 默认值为 (“get”, “post”)
参数验证通过后会请求该接口,request.params 为解析后参数内容
-
-
class
cool.views.options.
ViewOptions
¶ CoolBFFAPIView
的 Meta 接口-
path
¶
URL 地址,不填会以类名自动生成
-
param_fields
¶
- 接口参数列表,自动继承付类参数列表,接口文档会自动通过该参数生成
- 请求之前会先判断所有参数约束,不符合规范的会直接报错,所有验证通过后会调用
get_context()
接口。
-
-
class
cool.views.
PageMixin
[源代码]¶ 分页返回数据Mixin
-
PAGE_SIZE_MAX
¶
每页条数参数(page_size)最大限制 默认`200`
-
DEFAULT_PAGE_SIZE
¶
每页条数参数(page_size)默认值 默认`100`
-
‘AddMixin’, ‘DeleteMixin’, ‘EditMixin’, ‘ExtManyToOneMixin’, ‘SearchListMixin’, .. autoclass:: SearchListMixin() .. autoclass:: AddMixin() .. autoclass:: DeleteMixin() .. autoclass:: EditMixin() .. autoclass:: ExtManyToOneMixin()