FastAPI(实际上是 Starlette)将自动包含 Content-Length 的头。它还将包含一个基于 media_type 的 Content-Type 头,并为文本类型附加一个字符集。 Python 3.8+ fromfastapiimportFastAPI,Responseapp=FastAPI()@app.get("/legacy/")defget_legacy_data():data="""<?xml version="1.0"?><shampoo><Header>Apply...
docs 里的 media_type 是通过 response_class 实现的,需要自定义 response_class 才能修改。 from fastapi import FastAPI from fastapi.responses import StreamingResponse app = FastAPI() class MyCustomResponse(StreamingResponse): media_type = "image/jpeg" # 将文件类型写在这里 @app.get("/img", response...
二、JSONResponse 自定义返回 三、自定义返回 headers 和 media_type 总结 FASTAPI系列 14-使用JSONResponse 返回JSON内容 前言 当你创建一个FastAPI 接口时,可以正常返回以下任意一种数据:dict,list,Pydantic 模型,数据库模型等等。FastAPI默认会使用jsonable_encoder将这些类型的返回值转换成JSON 格式,默认情况下会以c...
media_type:响应类型(就是响应头里面的 Content-Type,这里单独作为一个参数出现了,其实通过 headers 参数设置也是可以的); background:接收一个任务,Response 在返回之后会自动异步执行(这里先不做介绍,后面会说); 举个例子: from fastapi import FastAPI, Request, Response import uvicorn import orjson app = Fas...
</note>"""returnResponse(content=xml_data, media_type="application/xml") 11.CSV 格式 使用Response返回 CSV 格式数据。 fromfastapiimportFastAPI, Response app=FastAPI() @app.get("/csv", response_class=Response)defget_csv(): csv_data="name,age\nAlice,30\nBob,25"returnResponse(content=csv_...
media_type:media type. 例如"text/html". background:后台任务 自定义 JSONResponse 响应, status_code 可以自定义状态码. FastAPI 会自动包含Content-Length,以及Content-Type,charset等头信息。 from fastapi import FastAPI, status from fastapi.responses import JSONResponse ...
在video_stream()路径操作函数中,我们使用StreamingResponse返回了响应。我们将生成器函数stream_local_video()和media_type作为参数传递给StreamingResponse类。 生成器函数stream_local_video()会读取视频的字节,然后对字节进行迭代,迭代后的每一部分都会被生成。
定义一个路由处理函数,并使用Content-Type装饰器限制请求头中的内容类型。可以使用media_type参数指定允许的内容类型,多个内容类型可以使用逗号分隔。 代码语言:txt 复制 @app.post("/endpoint") async def endpoint(content_type: str = Depends(Content-Type(["application/json"])): ...
get("/") def video_stream(): # 返回一个流式响应,媒体类型为 mp4 视频 return StreamingResponse(stream_local_video(), media_type='video/mp4') 我们从 fastapi.responses 模块导入了 StreamingResponse 类,这个操作挺常见的。 在video_stream() 路径操作函数中,我们使用 StreamingResponse 来返回响应对象。
return Response(content=data, media_type="application/xml") 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Response类接受如下参数: content- 一个str或者bytes。 status_code- 一个int类型的 HTTP 状态码。