前言
假设你想要返回一个 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 = """
-
-
- Apply shampoo here.
-
-
- You'll have to use soap here.
-
-
- """
- 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 中的额外响应 给响应编写文档。