欢迎访问宙启技术站
智能推送

starlette.responses.PlainTextResponse()在Python中处理纯文本响应的使用说明

发布时间:2024-01-07 13:14:48

starlette.responses.PlainTextResponse() 是 Starlette 框架中用来处理纯文本响应的类。它的作用是将纯文本内容转换为 HTTP 响应格式。以下是关于它的使用说明和一个使用例子:

## 使用说明

### 导入类

首先,你需要导入 starlette.responses.PlainTextResponse 类:

from starlette.responses import PlainTextResponse

### 创建实例

创建 PlainTextResponse 的实例需要传入一个字符串参数,该参数是你要返回的纯文本内容。

response = PlainTextResponse("Hello, World!")

### 设置 HTTP 状态码

使用 status_code 属性可以设置 HTTP 状态码,默认情况下为 200

response.status_code = 201

### 设置 HTTP 头部

使用 headers 属性可以设置响应的 HTTP 头部。headers 是一个字典,你可以在其中添加任意的头部信息。

response.headers["X-Custom-Header"] = "Custom Value"

### 返回响应

PlainTextResponse 的实例返回给 Starlette 框架,框架会将它自动转换为合适的 HTTP 响应格式。

return response

## 使用例子

以下是一个使用 PlainTextResponse 的例子,来展示如何处理一个返回纯文本响应的 API 端点:

from starlette.applications import Starlette
from starlette.responses import PlainTextResponse

app = Starlette()

@app.route("/")
async def homepage(request):
    response = PlainTextResponse("Hello, World!")
    response.headers["X-Custom-Header"] = "Custom Value"
    return response

if __name__ == '__main__':
    import uvicorn
    uvicorn.run(app, host="localhost", port=8000)

在这个例子中,当访问 API 的根路径时,homepage 函数会创建一个 PlainTextResponse 的实例,并将其返回。这将会产生一个 HTTP 响应,其中包含了字符串 "Hello, World!" 以及一个名为 "X-Custom-Header" 的自定义头部信息。

注意在这个例子中,我们使用了 uvicorn 来运行 Starlette 应用。你可以通过运行 python 文件名.py 来启动应用,并在浏览器中访问 http://localhost:8000/ 来查看结果。

以上就是关于 starlette.responses.PlainTextResponse() 的使用说明和一个使用例子。希望这能帮助到你!