mirror of
https://github.com/fastapi-practices/fastapi-best-architecture.git
synced 2026-09-21 05:02:49 +00: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)
|