8000 perf: 优化API文档的响应模型显示 · insistence/RuoYi-Vue3-FastAPI@1f51b62 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1f51b62

Browse files
committed
perf: 优化API文档的响应模型显示
1 parent 1656670 commit 1f51b62

File tree

10 files changed

+108
-43
lines changed

10 files changed

+108
-43
lines changed

ruoyi-fastapi-backend/module_admin/controller/config_controller.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@
1010
from common.aspect.interface_auth import UserInterfaceAuthDependency
1111
from common.aspect.pre_auth import CurrentUserDependency, PreAuthDependency
1212
from common.enums import BusinessType
13+
from common.vo import DataResponseModel, PageResponseModel, ResponseBaseModel
1314
from module_admin.entity.vo.config_vo import ConfigModel, ConfigPageQueryModel, DeleteConfigModel
1415
from module_admin.entity.vo.user_vo import CurrentUserModel
1516
from module_admin.service.config_service import ConfigService
1617
from utils.common_util import bytes2file_response
1718
from utils.log_util import logger
18-
from utils.page_util import PageResponseModel
1919
from utils.response_util import ResponseUtil
2020

2121
config_controller = APIRouter(prefix='/system/config', dependencies=[PreAuthDependency()])
2222

2323

2424
@config_controller.get(
2525
'/list',
26-
response_model=PageResponseModel,
26+
response_model=PageResponseModel[ConfigModel],
2727
dependencies=[UserInterfaceAuthDependency('system:config:list')],
2828
)
2929
async def get_system_config_list(
@@ -40,6 +40,7 @@ async def get_system_config_list(
4040

4141
@config_controller.post(
4242
'',
43+
response_model=ResponseBaseModel,
4344
dependencies=[UserInterfaceAuthDependency('system:config:add')],
4445
)
4546
@ValidateFields(validate_model='add_config')
@@ -62,6 +63,7 @@ async def add_system_config(
6263

6364
@config_controller.put(
6465
'',
66+
response_model=ResponseBaseModel,
6567
dependencies=[UserInterfaceAuthDependency('system:config:edit')],
6668
)
6769
@ValidateFields(validate_model='edit_config')
@@ -82,6 +84,7 @@ async def edit_system_config(
8284

8385
@config_controller.delete(
8486
'/refreshCache',
87+
response_model=ResponseBaseModel,
8588
dependencies=[UserInterfaceAuthDependency('system:config:remove')],
8689
)
8790
@Log(title='参数管理', business_type=BusinessType.UPDATE)
@@ -97,6 +100,7 @@ async def refresh_system_config(
97100

98101
@config_controller.delete(
99102
'/{config_ids}',
103+
response_model=ResponseBaseModel,
100104
dependencies=[UserInterfaceAuthDependency('system:config:remove')],
101105
)
102106
@Log(title='参数管理', business_type=BusinessType.DELETE)
@@ -114,7 +118,7 @@ async def delete_system_config(
114118

115119
@config_controller.get(
116120
'/{config_id}',
117-
response_model=ConfigModel,
121+
response_model=DataResponseModel[ConfigModel],
118122
dependencies=[UserInterfaceAuthDependency('system:config:query')],
119123
)
120124
async def query_detail_system_config(
@@ -128,7 +132,10 @@ async def query_detail_system_config(
128132
return ResponseUtil.success(data=config_detail_result)
129133

130134

131-
@config_controller.get('/configKey/{config_key}')
135+
@config_controller.get(
136+
'/configKey/{config_key}',
137+
response_model=ResponseBaseModel,
138+
)
132139
async def query_system_config(request: Request, config_key: str) -> Response:
133140
# 获取全量数据
134141
config_query_result = await ConfigService.query_config_list_from_cache_services(request.app.state.redis, config_key)

ruoyi-fastapi-backend/module_admin/controller/dict_controller.py

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from common.aspect.interface_auth import UserInterfaceAuthDependency
1111
from common.aspect.pre_auth import CurrentUserDependency, PreAuthDependency
1212
from common.enums import BusinessType
13+
from common.vo import DataResponseModel, PageResponseModel, ResponseBaseModel
1314
from module_admin.entity.vo.dict_vo import (
1415
DeleteDictDataModel,
1516
DeleteDictTypeModel,
@@ -22,15 +23,14 @@
2223
from module_admin.service.dict_service import DictDataService, DictTypeService
2324
from utils.common_util import bytes2file_response
2425
from utils.log_util import logger
25-
from utils.page_util import PageResponseModel
2626
from utils.response_util import ResponseUtil
2727

2828
dict_controller = APIRouter(prefix='/system/dict', dependencies=[PreAuthDependency()])
2929

3030

3131
@dict_controller.get(
3232
'/type/list',
33-
response_model=PageResponseModel,
33+
response_model=PageResponseModel[DictTypeModel],
3434
dependencies=[UserInterfaceAuthDependency('system:dict:list')],
3535
)
3636
async def get_system_dict_type_list(
@@ -49,6 +49,7 @@ async def get_system_dict_type_list(
4949

5050
@dict_controller.post(
5151
'/type',
52+
response_model=ResponseBaseModel,
5253
dependencies=[UserInterfaceAuthDependency('system:dict:add')],
5354
)
5455
@ValidateFields(validate_model='add_dict_type')
@@ -71,6 +72,7 @@ async def add_system_dict_type(
7172

7273
@dict_controller.put(
7374
'/type',
75+
response_model=ResponseBaseModel,
7476
dependencies=[UserInterfaceAuthDependency('system:dict:edit')],
7577
)
7678
@ValidateFields(validate_model='edit_dict_type')
@@ -91,6 +93,7 @@ async def edit_system_dict_type(
9193

9294
@dict_controller.delete(
9395
'/type/refreshCache',
96+
response_model=ResponseBaseModel,
9497
dependencies=[UserInterfaceAuthDependency('system:dict:remove')],
9598
)
9699
@Log(title='字典类型', business_type=BusinessType.UPDATE)
@@ -103,6 +106,7 @@ async def refresh_system_dict(request: Request, query_db: Annotated[AsyncSession
103106

104107
@dict_controller.delete(
105108
'/type/{dict_ids}',
109+
response_model=ResponseBaseModel,
106110
dependencies=[UserInterfaceAuthDependency('system:dict:remove')],
107111
)
108112
@Log(title='字典类型', business_type=BusinessType.DELETE)
@@ -118,7 +122,10 @@ async def delete_system_dict_type(
118122
return ResponseUtil.success(msg=delete_dict_type_result.message)
119123

120124

121-
@dict_controller.get('/type/optionselect', response_model=list[DictTypeModel])
125+
@dict_controller.get(
126+
'/type/optionselect',
127+
response_model=DataResponseModel[list[DictTypeModel]],
128+
)
122129
async def query_system_dict_type_options(
123130
request: Request, query_db: Annotated[AsyncSession, DBSessionDependency()]
124131
) -> Response:
@@ -132,7 +139,7 @@ async def query_system_dict_type_options(
132139

133140
@dict_controller.get(
134141
'/type/{dict_id}',
135-
response_model=DictTypeModel,
142+
response_model=DataResponseModel[DictTypeModel],
136143
dependencies=[UserInterfaceAuthDependency('system:dict:query')],
137144
)
138145
async def query_detail_system_dict_type(
@@ -166,7 +173,10 @@ async def export_system_dict_type_list(
166173
return ResponseUtil.streaming(data=bytes2file_response(dict_type_export_result))
167174

168175

169-
@dict_controller.get('/data/type/{dict_type}')
176+
@dict_controller.get(
177+
'/data/type/{dict_type}',
178+
response_model=DataResponseModel[list[DictDataModel]],
179+
)
170180
async def query_system_dict_type_data(
171181
request: Request,
172182
dict_type: Annotated[str, Path(description='字典类型')],
@@ -183,7 +193,7 @@ async def query_system_dict_type_data(
183193

184194
@dict_controller.get(
185195
'/data/list',
186-
response_model=PageResponseModel,
196+
response_model=PageResponseModel[DictDataModel],
187197
dependencies=[UserInterfaceAuthDependency('system:dict:list')],
188198
)
189199
async def get_system_dict_data_list(
@@ -202,6 +212,7 @@ async def get_system_dict_data_list(
202212

203213
@dict_controller.post(
204214
'/data',
215+
response_model=ResponseBaseModel,
205216
dependencies=[UserInterfaceAuthDependency('system:dict:add')],
206217
)
207218
@ValidateFields(validate_model='add_dict_data')
@@ -224,6 +235,7 @@ async def add_system_dict_data(
224235

225236
@dict_controller.put(
226237
'/data',
238+
response_model=ResponseBaseModel,
227239
dependencies=[UserInterfaceAuthDependency('system:dict:edit')],
228240
)
229241
@ValidateFields(validate_model='edit_dict_data')
@@ -244,6 +256,7 @@ async def edit_system_dict_data(
244256

245257
@dict_controller.delete(
246258
'/data/{dict_codes}',
259+
response_model=ResponseBaseModel,
247260
dependencies=[UserInterfaceAuthDependency('system:dict:remove')],
248261
)
249262
@Log(title='字典数据', business_type=BusinessType.DELETE)
@@ -261,7 +274,7 @@ async def delete_system_dict_data(
261274

262275
@dict_controller.get(
263276
'/data/{dict_code}',
264-
response_model=DictDataModel,
277+
response_model=DataResponseModel[DictDataModel],
265278
dependencies=[UserInterfaceAuthDependency('system:dict:query')],
266279
)
267280
async def query_detail_system_dict_data(

ruoyi-fastapi-backend/module_admin/controller/job_controller.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010
from common.aspect.interface_auth import UserInterfaceAuthDependency
1111
from common.aspect.pre_auth import CurrentUserDependency, PreAuthDependency
1212
from common.enums import BusinessType
13+
from common.vo import DataResponseModel, PageResponseModel, ResponseBaseModel
1314
from module_admin.entity.vo.job_vo import (
1415
DeleteJobLogModel,
1516
DeleteJobModel,
1617
EditJobModel,
18+
JobLogModel,
1719
JobLogPageQueryModel,
1820
JobModel,
1921
JobPageQueryModel,
@@ -23,15 +25,14 @@
2325
from module_admin.service.job_service import JobService
2426
from utils.common_util import bytes2file_response
2527
from utils.log_util import logger
26-
from utils.page_util import PageResponseModel
2728
from utils.response_util import ResponseUtil
2829

2930
job_controller = APIRouter(prefix='/monitor', dependencies=[PreAuthDependency()])
3031

3132

3233
@job_controller.get(
3334
'/job/list',
34-
response_model=PageResponseModel,
35+
response_model=PageResponseModel[JobModel],
3536
dependencies=[UserInterfaceAuthDependency('monitor:job:list')],
3637
)
3738
async def get_system_job_list(
@@ -40,14 +41,15 @@ async def get_system_job_list(
4041
query_db: Annotated[AsyncSession, DBSessionDependency()],
4142
) -> Response:
4243
# 获取分页数据
43-
notice_page_query_result = await JobService.get_job_list_services(query_db, job_page_query, is_page=True)
44+
job_page_query_result = await JobService.get_job_list_services(query_db, job_page_query, is_page=True)
4445
logger.info('获取成功')
4546

46-
return ResponseUtil.success(model_content=notice_page_query_result)
47+
return ResponseUtil.success(model_content=job_page_query_result)
4748

4849

4950
@job_controller.post(
5051
'/job',
52+
response_model=ResponseBaseModel,
5153
dependencies=[UserInterfaceAuthDependency('monitor:job:add')],
5254
)
5355
@ValidateFields(validate_model='add_job')
@@ -70,6 +72,7 @@ async def add_system_job(
7072

7173
@job_controller.put(
7274
'/job',
75+
response_model=ResponseBaseModel,
7376
dependencies=[UserInterfaceAuthDependency('monitor:job:edit')],
7477
)
7578
@ValidateFields(validate_model='edit_job')
@@ -90,6 +93,7 @@ async def edit_system_job(
9093

9194
@job_controller.put(
9295
'/job/changeStatus',
96+
response_model=ResponseBaseModel,
9397
dependencies=[UserInterfaceAuthDependency('monitor:job:changeStatus')],
9498
)
9599
@Log(title='定时任务', business_type=BusinessType.UPDATE)
@@ -114,6 +118,7 @@ async def change_system_job_status(
114118

115119
@job_controller.put(
116120
'/job/run',
121+
response_model=ResponseBaseModel,
117122
dependencies=[UserInterfaceAuthDependency('monitor:job:changeStatus')],
118123
)
119124
@Log(title='定时任务', business_type=BusinessType.UPDATE)
@@ -130,6 +135,7 @@ async def execute_system_job(
130135

131136
@job_controller.delete(
132137
'/job/{job_ids}',
138+
response_model=ResponseBaseModel,
133139
dependencies=[UserInterfaceAuthDependency('monitor:job:remove')],
134140
)
135141
@Log(title='定时任务', business_type=BusinessType.DELETE)
@@ -147,7 +153,7 @@ async def delete_system_job(
147153

148154
@job_controller.get(
149155
'/job/{job_id}',
150-
response_model=JobModel,
156+
response_model=DataResponseModel[JobModel],
151157
dependencies=[UserInterfaceAuthDependency('monitor:job:query')],
152158
)
153159
async def query_detail_system_job(
@@ -181,7 +187,7 @@ async def export_system_job_list(
181187

182188
@job_controller.get(
183189
'/jobLog/list',
184-
response_model=PageResponseModel,
190+
response_model=PageRespon 220E seModel[JobLogModel],
185191
dependencies=[UserInterfaceAuthDependency('monitor:job:list')],
186192
)
187193
async def get_system_job_log_list(
@@ -200,6 +206,7 @@ async def get_system_job_log_list(
200206

201207
@job_controller.delete(
202208
'/jobLog/clean',
209+
response_model=ResponseBaseModel,
203210
dependencies=[UserInterfaceAuthDependency('monitor:job:remove')],
204211
)
205212
@Log(title='定时任务调度日志', business_type=BusinessType.CLEAN)
@@ -215,6 +222,7 @@ async def clear_system_job_log(
215222

216223
@job_controller.delete(
217224
'/jobLog/{job_log_ids}',
225+
response_model=ResponseBaseModel,
218226
dependencies=[UserInterfaceAuthDependency('monitor:job:remove')],
219227
)
220228
@Log(title='定时任务调度日志', business_type=BusinessType.DELETE)

0 commit comments

Comments
 (0)
0