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

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

时间:2023-10-27 12:35:24浏览次数:32  
标签:XML xml FastAPI 18 data 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,xml,FastAPI,18,data,media,type,Response
From: https://blog.51cto.com/u_15249893/8052676

相关文章

  • FastAPI学习-14. JSONResponse 返回JSON内容
    当你创建一个 FastAPI 路径操作 时,你可以正常返回以下任意一种数据:dict,list,Pydantic模型,数据库模型等等。FastAPI 默认会使用 jsonable_encoder 将这些类型的返回值转换成JSON格式,默认情况下会以content-type:application/json格式返回在有些情况下,我们需要在路径操作......
  • FastAPI学习-15.JSON 编码器 jsonable_encoder
    前言在某些情况下,您可能需要将数据类型(如Pydantic模型)转换为与JSON兼容的数据类型(如dict、list等)。比如,如果您需要将其存储在数据库中。对于这种要求, FastAPI提供了jsonable_encoder()函数。使用jsonable_encoderjsonable_encoder在实际应用场景中,可能需要将数据类型(如:Pydanti......
  • XML知识点总结
    1.xml1.1概述【理解】万维网联盟(W3C)万维网联盟(W3C)创建于1994年,又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。建立者:TimBerners-Lee(蒂姆·伯纳斯·李)。是Web技术领域最具权威和影响力的国际中立性技术标准机构。到目前为止,W3C已发布了200多项影响深远......
  • 在线问诊 Python、FastAPI、Neo4j — 创建症状节点
    目录症状数据创建节点附学习电子病历中,患者主诉对应的相关检查,得出的诊断以及最后的用药情况。症状一般可以从主诉中提取。症状数据symptom_data.csvCSV中,没有直接一行一个症状,主要想后面将症状=>疾病做关联,最后会在一个Excel中表达所以每行实际对应一个症病,但在创建节点......
  • https://www.modb.pro/db/1717179181560324096 --转载 Oracle 批量更新(BULK)优化技巧
    面对一个需要更新大量数据的任务,我平时的处理方法是通过循环,每N行提交来完成这个任务。这样做的两个主要原因:1、频繁地提交大量小事务比处理和提交一个大事务更快,也更高效2、没有足够的UNDO空间今天在学到了一种新的解决思路,在此记录一下方便后面使用。  假设我们有一个表T,......
  • CF1883D In Love
    思路如果每一次加或者删一个区间,再去暴力找有没有互不相交的区间的话,铁定TLE。那么,我们考虑维护有多少对互不相交的区间,那么每次加或者删一个区间,就去算这个区间对答案的贡献,然后再看答案是否为\(0\)即可快速判断有没有互不相交的区间。现在考虑如何计算一个新加入或者删去......
  • 10.18
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Vue-生命周期</title>......
  • 9.18
    importjava.util.Random;importjava.util.Scanner;publicclasscheng{publicstaticbooleancontains(intnum1,intnum2,intnum3,int[]a1,int[]a2,int[]a3){for(inti=0;i<a1.length;i++){if((num1==a1[i])&......
  • Pinely Round 2 (Div. 1 + Div. 2) (CF1863)
    本来开了某场远古Div1,然后学了一堆前置知识至今仍然不会E。换一场写来得及吗?A.Channel模拟,略。B.SplitSortDescription给你一个长度为\(n\)的排列。每次操作你可以选择一个数\(x\),然后类似于快速排序地把小于\(x\)和大于等于\(x\)的分成两个序列,把它们拼在一起......
  • 微信公众号-XML数据接收与处理
    第一步:接收微信发来的xml数据有以下两种方式$xml=$GLOBALS['HTTP_RAM_POST_DATA'];//php7版本以上不能使用$xml=file_get_contents('php://input');第二步:对接收过来的数据进行处理libxml_disable_entity_loader(true);$obj=simplexml_load_string($postStr,'Simp......