You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

接口开发抛出HTTPException遇TypeError:该方法不接受关键字参数

问题:抛出HTTPException时出现TypeError的原因及解决办法

错误信息

raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=f"posts id {id} not found. " )
TypeError: HTTPException() takes no keyword arguments

控制器代码

@app.get("/post/{id}")
async def get_post(id:int):
  data = get_post_by_id(id)
  
  if not data:
    raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=f"posts id {id} not found. ")

  return{"data":data}

原因

你导入的HTTPException不是FastAPI自带的类,大概率是误导入了Flask/Werkzeug等其他Web框架的同名异常类。这类第三方框架的HTTPException不支持用status_code、detail这类关键字参数初始化,因此触发了类型错误。

解决步骤

  • 修正导入语句,确保从FastAPI库导入HTTPException和status:
    from fastapi import HTTPException, status
    
  • 替换掉之前错误的导入(比如from werkzeug.exceptions import HTTPException或from flask import HTTPException),保证代码里使用的是FastAPI提供的异常类。

内容的提问来源于stack exchange,提问作者Aman Sayeed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 05:54:39