FastAPI GET接口添加include_retired参数调用报错求助
问题解决:AsyncClient.get() 意外关键字参数错误
错误原因
你在调用AsyncClient.get()时直接把include_retired=True作为关键字参数传入,但get()方法并不接受这个参数。FastAPI的查询参数需要通过HTTP请求的URL查询字符串传递,对应到httpx.AsyncClient的调用中,要放在params字典里,而不是直接作为方法参数。
修正后的测试代码
response = await async_client.get( f"{settings.api_v1_prefix}/mytable", headers={"Authorization": f"Bearer {authorization_token}"}, params={"include_retired": True} # 将查询参数放入params字典 )
补充说明
你的FastAPI路由代码里的include_retired: bool = False属于查询参数,FastAPI会自动解析URL中?include_retired=True格式的查询字符串,绑定到这个变量上。使用params字典传递参数时,httpx会自动帮你拼接成正确的URL格式。
另外,你的路由代码里重复定义了CreateMyTableRequest类,建议删除其中一个重复定义,避免潜在的代码冲突问题。
内容的提问来源于stack exchange,提问作者user2795136
相关产品推荐
相关产品推荐

