From 9a78e476b0b76aef060e1fbb2897b5484db416f5 Mon Sep 17 00:00:00 2001 From: Miyamizu-MitsuhaSang <2510681107@qq.com> Date: Thu, 6 Nov 2025 20:59:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=AC=A1=E6=95=B0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/translator.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/app/api/translator.py b/app/api/translator.py index 23a26b5..600095e 100644 --- a/app/api/translator.py +++ b/app/api/translator.py @@ -78,13 +78,13 @@ async def baidu_translation(query: str, from_lang: str, to_lang: str): ) if response.status_code != 200: - raise HTTPException(status_code=500, detail=response.text) + raise HTTPException(status_code=500, detail=response.json()) data = response.json() print(json.dumps(data, indent=2, ensure_ascii=False)) if "trans_result" not in data: - raise HTTPException(status_code=500, detail=data.get("error_msg", "Unknown error")) + raise HTTPException(status_code=500, detail={"error_code": data.get("error_code"), "error_msg": data.get("error_msg")}) return "\n".join([item["dst"] for item in data["trans_result"]]) @@ -117,13 +117,17 @@ async def rate_limiter( @translator_router.post('/translate', response_model=TransResponse, dependencies=[Depends(rate_limiter)]) async def translate( translate_request: TransRequest, - user=Depends(get_current_user) + user: Tuple[User, Dict] = Depends(get_current_user), ): - text = await baidu_translation( - query=translate_request.query, - from_lang=translate_request.from_lang, - to_lang=translate_request.to_lang, - ) + try: + text = await baidu_translation( + query=translate_request.query, + from_lang=translate_request.from_lang, + to_lang=translate_request.to_lang, + ) + except HTTPException as e: + print(e.status_code, e.detail) + raise HTTPException(status_code=400, detail=e.detail) return TransResponse(translated_text=text) @@ -144,4 +148,5 @@ async def test_translate( :return: """ raw = await baidu_translation(query, from_lang, to_lang) + print(raw) return TransResponse(translated_text=raw)