FastAPI中如何设置Swagger接口响应的媒体类型?

fastapi中如何设置swagger接口响应的媒体类型?

fastapi 中 swagger response 的 media type 设置

fastapi 的 /docs 界面,接口响应的媒体类型可以帮助客户端了解所返回的数据的格式。对于返回图片流的接口,可以通过设置 media_type 参数来声明响应类型。

响应头中的 mediatype

对于返回图片流的接口,不需要显式声明 media_type 参数。响应头中的 content-type 字段会自动包含媒体类型信息,告知客户端响应的数据类型(如 image/jpg)。

自定义 response class 指定 mediatype

如果需要自定义响应的媒体类型,可以使用 response_class 参数。以下是自定义 mycustomresponse 类的示例:

from fastapi import fastapi
from fastapi.responses import streamingresponse

class mycustomresponse(streamingresponse):
    media_type = "image/jpeg"

在接口中使用该自定义响应类:

@app.get("/img", response_class=MyCustomResponse)
def image():
    # 返回图片流的逻辑
    return MyCustomResponse(...)

这样一来,在 /docs 页面中,该接口的响应媒体类型将显示为 "image/jpeg"。

以上就是FastAPI中如何设置Swagger接口响应的媒体类型?的详细内容,更多请关注硕下网其它相关文章!