前言
假设你想要返回一个 XML 响应。
你可以把你的 XML 内容放到一个字符串中,放到一个 Response 中,然后返回。
Response 自定义返回
可以把 XML 内容放到一个字符串中,放到一个 Response 中,设置media_type="application/xml"
from fastapi import FastAPI, Response
app = FastAPI()
@app.get("/xml/")
def get_legacy_data():
data = """<?xml version="1.0"?>
<shampoo>
<Header>
Apply shampoo here.
</Header>
<Body>
You'll have to use soap here.
</Body>
</shampoo>
"""
return Response(content=data, media_type="application/xml")Response 类接受如下参数:
-
content- 一个str或者bytes。 -
status_code- 一个int类型的 HTTP 状态码。 -
headers- 一个由字符串组成的dict。 -
media_type- 一个给出媒体类型的str,比如"text/html"。
说明
当你直接返回 Response 时,它的数据既没有校验,又不会进行转换(序列化),也不会自动生成文档。
但是你仍可以参考 OpenApI 中的额外响应 给响应编写文档。










