<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FastAPI on Quietbo</title><link>https://quietbo.com/tags/fastapi/</link><description>Recent content in FastAPI on Quietbo</description><generator>Hugo -- gohugo.io</generator><language>zh-tw</language><lastBuildDate>Thu, 31 Mar 2022 10:26:15 +0000</lastBuildDate><atom:link href="https://quietbo.com/tags/fastapi/index.xml" rel="self" type="application/rss+xml"/><item><title>[Python|FastAPI] 返回沒有雙引號的字串(返回純文本)PlainTextResponse</title><link>https://quietbo.com/2022/03/31/pythonfastapi-%E8%BF%94%E5%9B%9E%E6%B2%92%E6%9C%89%E9%9B%99%E5%BC%95%E8%99%9F%E7%9A%84%E5%AD%97%E4%B8%B2%E8%BF%94%E5%9B%9E%E7%B4%94%E6%96%87%E6%9C%ACplaintextresponse/</link><pubDate>Thu, 31 Mar 2022 10:26:15 +0000</pubDate><guid>https://quietbo.com/2022/03/31/pythonfastapi-%E8%BF%94%E5%9B%9E%E6%B2%92%E6%9C%89%E9%9B%99%E5%BC%95%E8%99%9F%E7%9A%84%E5%AD%97%E4%B8%B2%E8%BF%94%E5%9B%9E%E7%B4%94%E6%96%87%E6%9C%ACplaintextresponse/</guid><description>&lt;p&gt;問題:&lt;br&gt;
對方是要的訊息Hello World，不是要”Hello World”&lt;/p&gt;
&lt;p&gt;原本的FastAPI寫法如下:&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="python" class="language-python line-numbers"&gt;from fastapi import FastAPI
import uvicorn

app = FastAPI()


@app.get("/")
async def root():
 return "Hello World"

if __name__ == "__main__":
 uvicorn.run("main:app", host="127.0.0.1", port=8000)&lt;/code&gt;&lt;/pre&gt;&lt;figure class="wp-block-image is-style-default"&gt;
&lt;p&gt;&lt;img decoding="async" src="https://i.imgur.com/f23g0hl.png" alt="" /&gt; &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;可以看到最常見的postman發的請求得到是”Hello World”&lt;/p&gt;
&lt;p&gt;解決方式:&lt;br&gt;
使用:&lt;a class="link" href="https://fastapi.tiangolo.com/advanced/custom-response/#plaintextresponse" target="_blank" rel="noopener"
 &gt;PlainTextResponse&lt;/a&gt;&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="python" class="language-python line-numbers"&gt;from fastapi import FastAPI
import uvicorn
from fastapi.responses import PlainTextResponse

app = FastAPI()


@app.get("/", response_class=PlainTextResponse)
async def root():
 return "Hello World"

if __name__ == "__main__":
 uvicorn.run("main:app", host="127.0.0.1", port=8000)&lt;/code&gt;&lt;/pre&gt;&lt;figure class="wp-block-image is-style-default"&gt;
&lt;p&gt;&lt;img decoding="async" src="https://i.imgur.com/VHdSY2i.png" alt="" /&gt; &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;可以看到還滿順利的出現了單純只有文字的Hello World&lt;/p&gt;
&lt;p&gt;不一定要放在response_class，以下方式也能成功:&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="python" class="language-python line-numbers"&gt;from fastapi import FastAPI
import uvicorn
from fastapi.responses import PlainTextResponse

app = FastAPI()

def get_text(parameters):
 text = PlainTextResponse(parameters)
 return text


@app.get("/")
async def root():
 op = get_text('hello bocky')
 return op

if __name__ == "__main__":
 uvicorn.run("main:app", host="127.0.0.1", port=8000)&lt;/code&gt;&lt;/pre&gt;&lt;figure class="wp-block-image is-style-default"&gt;
&lt;p&gt;&lt;img decoding="async" src="https://i.imgur.com/VpbKCPd.png" alt="" /&gt; &lt;/figure&gt;&lt;/p&gt;</description></item></channel></rss>