27 lines
977 B
Python
27 lines
977 B
Python
from fastapi import APIRouter, Query
|
|
from typing import Optional
|
|
from app.service.lookbooks.query_service import query_lookbooks_service # 引入业务逻辑
|
|
|
|
router = APIRouter()
|
|
|
|
@router.get("/query-lookbooks")
|
|
async def query_lookbooks(
|
|
tag: Optional[str] = Query(None, description="Tag to filter lookbooks"),
|
|
year: Optional[str] = Query(None, description="Year to filter lookbooks"),
|
|
n_results: int = Query(10, description="Number of results to return")
|
|
):
|
|
"""
|
|
查询向量数据库,支持按 tag 和 year 查询
|
|
:param tag: 查询过滤的标签
|
|
:param year: 查询过滤的年份
|
|
:param n_results: 返回的结果数量
|
|
:return: 查询结果
|
|
"""
|
|
try:
|
|
# 调用业务逻辑层的查询服务
|
|
result_list = await query_lookbooks_service(tag, year, n_results)
|
|
return {"status": "success", "data": result_list}
|
|
|
|
except Exception as e:
|
|
return {"status": "error", "message": str(e)}
|