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

2024-11-17 14:56:13 编辑:抖狐科技 来源:摘自互联网

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接口响应的媒体类型?的详细内容,更多请关注抖狐科技其它相关文章!

本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢