mirror of
https://github.com/fastapi-practices/fastapi_best_architecture.git
synced 2026-03-13 09:31:31 +08:00
30 lines
784 B
Python
30 lines
784 B
Python
from fastapi import FastAPI
|
||
from fastapi.routing import APIRoute
|
||
|
||
|
||
def simplify_operation_ids(app: FastAPI) -> None:
|
||
"""
|
||
简化操作 ID,以便生成的客户端具有更简单的 API 函数名称
|
||
|
||
:param app: FastAPI 应用实例
|
||
:return:
|
||
"""
|
||
for route in app.routes:
|
||
if isinstance(route, APIRoute):
|
||
route.operation_id = route.name
|
||
|
||
|
||
def ensure_unique_route_names(app: FastAPI) -> None:
|
||
"""
|
||
检查路由名称是否唯一
|
||
|
||
:param app: FastAPI 应用实例
|
||
:return:
|
||
"""
|
||
temp_routes = set()
|
||
for route in app.routes:
|
||
if isinstance(route, APIRoute):
|
||
if route.name in temp_routes:
|
||
raise ValueError(f'Non-unique route name: {route.name}')
|
||
temp_routes.add(route.name)
|