from fastapi import APIRouter, HTTPException from app.domain.schemas.place_search import PlaceSearchRequest, PlaceSearchResponse from app.services.place_search import PlaceSearchError, search_tianditu_places router = APIRouter() @router.post( "/place-search-requests", response_model=PlaceSearchResponse, summary="Search Fengxian places", description="调用天地图地名搜索,固定上海市奉贤区范围,只返回前 10 个可定位候选,不提供分页。", ) async def tianditu_place_search(request: PlaceSearchRequest) -> PlaceSearchResponse: try: return await search_tianditu_places(request) except PlaceSearchError as exc: raise HTTPException(status_code=exc.status_code, detail=exc.detail) from exc