首页 > 其他分享 > FastAPI学习-18.Response 返回 XML 格式

FastAPI学习-18.Response 返回 XML 格式

时间:2023-09-17 11:13:17浏览次数:46  
标签:XML 返回 FastAPI 18 media type Response

前言

假设你想要返回一个 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 中的额外响应 给响应编写文档。

标签:XML,返回,FastAPI,18,media,type,Response
From: https://www.cnblogs.com/yoyoketang/p/17707965.html

相关文章

  • FastAPI学习-19.response 参数-修改状态码
    前言假设你想默认返回一个HTTP状态码为“OK”200。但如果数据不存在,你想创建它,并返回一个HTTP状态码为“CREATED”201。但你仍然希望能够使用response_model过滤和转换你返回的数据。对于这些情况,你可以使用一个response`参数。使用 response 参数status_code设置默认状......
  • FastAPI学习-21.response 参数-设置响应Cookies
    前言可以在 路径函数 中定义一个类型为 Response的参数,这样你就可以在这个临时响应对象中设置cookie了。response参数设置cookiesfromfastapiimportFastAPI,Responseapp=FastAPI()@app.post("/cookie-and-object/")defcreate_cookie(response:Response):......
  • FastAPI学习-20.response 参数-设置响应头部
    前言你可以在你的_路径操作函数_中声明一个Response类型的参数。设置响应头部你可以在这个_临时_响应对象中设置头部fromfastapiimportFastAPI,Responseapp=FastAPI()@app.get("/headers-and-object/")defget_headers(response:Response):response.headers......
  • tomcat里web.xml中load-on-startup参数含义
    原文:Theload-on-startupelementindicatesthatthisservletshouldbeloaded(instantiatedandhaveitsinit()called)onthestartupofthewebapplication.Theoptionalcontentsoftheseelementmustbeanintegerindicatingtheorderinwhichtheserv......
  • CF1863G
    简洁的题面,深邃的思想。首先,一个经典的套路是:对于序列中涉及到对于\(a_{a_i}\)和\(a_i\)进行操作的问题,一般可以考虑建立\((i,a_i)\)的内向基环树或者\((a_i,i)\)的外向基环树转化为图论问题。我们建立\((i,a_i)\)的内向基环树,\(swap(a_i,a_{a_i})\impliesa'_i=a_......
  • cf1860f
    萌萌题,但是细节比较麻烦。首先注意到,\(ax+by=\lambda\),由于我们只需要若干括号的相对顺序,其中一个未知数完全可以舍去,因为可以通过另一个未知数达到相同值。设我们只关心\(x\)的取值,变为按照\(ax+b\)排序。那么设\(k'=a\),变成\(\lambda=k'x+b\),这是一个直线方程,而我们需......
  • CF1827B1
    RangeSorting(EasyVersion)题面翻译对一个数组\(\{p_i\}\)的一段区间\([l,r]\)排序的代价为\(r-l\),对整个数组\(p_i\)排序的代价为选定若干区间并排序,使得整个数组有序的代价之和。求\(\{a_i\}\)的所有子段排序的代价之和。题目描述Theonlydifferencebetween......
  • 不小心把pom.xml文件变成了Ant类型,然后全面爆红问题的解决
    问题描述不小心按到了这里:导入依赖的文件这里就全面爆红了!!本来都要配置完成了,出现这个误操作,真的很崩心态!问题解决这么操作:文件目录-->Views-->ToolWindows-->Ant;就能够打开Ant的相关界面;然后右键选中想要操作的文件,选择Remove,就能解决啦!......
  • 2018-2019 ACM-ICPC Brazil Subregional Programming Contest
    B.Marbles题解显然如果存在棋子位于\((x,x)\),那么一定先手必胜容易发现必败态位于\((1,2)\)和\((2,1)\),那么我们可以通过\(sg\)函数暴力打表得到并且玩家一定不会将棋子移动至\((0,i),(i,0),(i,i)\)这三种情况上,因为谁移动到这些位置,对手一定处于必胜态intn,f[N][......
  • mavlink(二)xml文件结构
    1.xml文件框架和语法1.1.文件结构MaVLinkXML文件的大致结构如下:下面列出了主要标签(所有标签都是可选的):include:此标签用于指定语支文件(dialect)中包含的任何其他xml文件。通常,语支文件将includecommon.xml,如上所示;可以使用多个<include></include>标记,以......