接口名称:/test_envs/
请求方式:POST
参数格式:JSON
请求参数:
参数 | 变量名 | 类型 | 说明 | 是否必传 |
环境名称 | name | 字符串 | 测试环境名称 | 是 |
项目主机 | host | 字符串 | 项目主机地址 | 是 |
数据库设置 | db | json | 数据库设置 | 否 |
所属项目id | project | 整数 | 所属项目id | 是 |
请求头 | headers | json | 全局请求头 | 否 |
全局变量 | global_variable | json | 环境全局变量 | 否 |
debug模式全局变量 | debug_global_variable | json | 调试模式全局变量 | 否 |
全局工具函数 | global_func | 字符串 | 全局工具函数脚本 | 否 |
请求示例:
json格式参数
{"name": "ali","global_variable": {"key": "Value"},"debug_global_variable": {},"db": [{"name": "db1","type": "mysql","config": {"user": "future", "password": "123456", "host": "api.lemonban.com", "port": 3306}},{"name": "db2","type": "mysql","config": {"user": "future", "password": "123456", "host": "api.lemonban.com", "port": 3306}},],
"host": "http://www.hhxpython.com/",
"headers": {},
"global_func": "",
"project": 1
}
返回示例
响应状态码: 201
响应数据:
{"id": 2,"name": "ali","global_variable": {"key": "Value"},"debug_global_variable": {},"db": [{"name": "db1","type": "mysql","config": {"user": "future","password": "123456","host": "api.lemonban.com","port": 3306}},{"name": "db2","type": "mysql","config": {"user": "future","password": "123456","host": "api.lemonban.com","port": 3306}}],"host": "http://www.hhxpython.com/","headers": {},"global_func": "","project": 1
}
接口名称:/test_envs/环境id/
请求方式:DELETE
参数格式:路径参数
请求参数: 无
返回示例
响应状态码: 204
响应数据:无
接口名称:/test_envs/环境id/
请求方式:PUT/PATCH
参数格式:JSON
请求参数:
参数 | 变量名 | 类型 | 说明 | 是否必传 |
环境名称 | name | 字符串 | 测试环境名称 | put请求必传 |
项目主机 | host | 字符串 | 项目主机地址 | put请求必传 |
数据库设置 | db | json | 数据库设置 | 否 |
所属项目id | project | 整数 | 所属项目id | put请求必传 |
请求头 | headers | json | 全局请求头 | 否 |
全局变量 | global_variable | json | 环境全局变量 | 否 |
debug模式全局变量 | debug_global_variable | json | 调试模式全局变量 | 否 |
全局工具函数 | global_func | 字符串 | 全局工具函数脚本 | 否 |
请求示例:
json格式参数
{"name": "ali","global_variable": {"key": "Value"},"debug_global_variable": {},"db": [{"name": "db1","type": "mysql","config": {"user": "future", "password": "123456", "host": "api.lemonban.com", "port": 3306}},{"name": "db2","type": "mysql","config": {"user": "future", "password": "123456", "host": "api.lemonban.com", "port": 3306}},],
"host": "http://www.hhxpython.com/",
"headers": {},
"global_func": "",
"project": 1
}
返回示例
响应状态码: 200
响应数据:
{"id": 2,"name": "ali","global_variable": {"key": "Value"},"debug_global_variable": {},"db": [{"name": "db1","type": "mysql","config": {"user": "future","password": "123456","host": "api.lemonban.com","port": 3306}},{"name": "db2","type": "mysql","config": {"user": "future","password": "123456","host": "api.lemonban.com","port": 3306}}],"host": "http://www.hhxpython.com/","headers": {},"global_func": "","project": 1
}
接口名称:/test_envs/
请求方式:GET
参数格式:url参数
请求参数:
参数 | 变量名 | 类型 | 说明 | 是否必传 |
项目id | project | 整数 | 所属项目id | 否 |
请求示例:/test_envs/?project=1
返回示例
响应状态码: 200
响应数据:
[{"id": 1,"name": "本地","global_variable": {"key1": "value1","key2": "value2"},"debug_global_variable": {}, "db": [],"host": "http://127.0.0.1:8080", "headers": {"customer-header": "wahaha" },"global_func": "\"\"\"\n自定义全局工具函数\n============================\n\"\"\"\nfrom apitestengine.core.tools import *", "project": 1},{"id": 2,"name": "ali","global_variable": {"key": "Value"},"debug_global_variable": {},"db": [{"name": "db1", "type": "mysql","config": {"user": "future", "password": "123456", "host": "api.lemonban.com", "port": 3306}},{"name": "db1", "type": "mysql","config": {"user": "future", "password": "123456", "host": "api.lemonban.com", "port": 3306}}],"host": "http://www.hhxpython.com/", "headers": {},"global_func": "","project": 1}
]
接口名称:/test_envs/环境id/
请求方式:GET
参数格式:路径参数
请求参数:无
返回示例
响应状态码: 200
响应数据:
{"id": 2,"name": "ali","global_variable": {"key": "Value"},"debug_global_variable": {},"db": [{"name": "db1","type": "mysql","config": {"user": "future","password": "123456","host": "api.lemonban.com","port": 3306}},{"name": "db2","type": "mysql","config": {"user": "future","password": "123456","host": "api.lemonban.com","port": 3306}}],"host": "http://www.hhxpython.com/","headers": {},"global_func": "","project": 1
}
在 projects/serializers.py模块中添加如下序列化器:
class TestEnvSerializer(serializers.ModelSerializer):"""测试环境序列化器"""class Meta:model = TestEnvfields = '__all__'
class TestEnvViewSet(ModelViewSet):queryset = TestEnv.objects.all()serializer_class = TestEnvSerializerpermission_classes = [IsAuthenticated]# def get_queryset(self):# queryset = super().get_queryset()# # 获取参数# project = self.request.query_params.get('project')# # 过滤# if project:# queryset = queryset.filter(project=project)# return querysetfilterset_fields = ['project']
from rest_framework.routers import DefaultRouterfrom . import viewsrouter = DefaultRouter()
router.register('test_envs',views.TestEnvViewSet)
urlpatterns = router.urls
上一篇:生成式AI为百度打开想象力