组建响应

Starlette中的响应是通过Response基类来提供的,但针对不同的响应还是提供了快捷的组建类。实例化一个Response类实例一般需要通过参数提供以下四种内容。

  • content,响应体内容。
  • status_code,HTTP响应码。
  • headers,响应头。
  • media_type,响应的媒体类型。
  • background,响应输出后要执行的后台任务。

Response实例可以设置客户端的Cookie,这主要通过set_cookie()delete_cookie()两个方法实现。

常用的响应类主要有以下这些。

  • HTMLResponse,HTML文本响应类。
  • PlainTextResponse,纯文本响应类。
  • TemplateResponse,通过模板渲染引擎的动态模板响应类。
  • JSONResponse,返回application/json的数据响应类。
  • UJSONResponse,使用ujson进行数据JSON串行化的响应类。
  • RedirectResponse,产生302转向的响应类。
  • StreamingResponse,产生流式数据的响应类。
  • FileResponse,产生文件下载的响应类。