引用来源https://fastapi.tiangolo.com/advanced/custom-response/
使用fastapi新建下载文件的接口
前面有个fastapi普通调用的文章,但是在使用的时候发现还有下载的需求,查阅后发现本身是有这个接口的,只是没有翻译,所以就边翻译边用一下。
默认情况下,FastAPI将使用JSONResponse返回响应。
你可以通过直接返回一个Response来覆盖它,就像在Return a Response directly中看到的那样。
但如果你直接返回一个Response,数据不会被自动转换,也不会自动生成文档(例如,包括特定的 “媒体类型”,在HTTP头Content-Type中作为生成的OpenAPI的一部分)。
但你也可以在路径操作装饰器中声明你想要使用的Response,在路径操作装饰器中。
你从路径操作函数中返回的内容将被放到那个Response里面。
如果该Response具有JSON媒体类型(application/json),就像JSONResponse和UJSONResponse一样,您返回的数据将被自动转换(并过滤)为您在路径操作装饰器中声明的任何Pydantic response_model。
HTML返回
正如在直接返回响应中看到的,你也可以在路径操作中直接覆盖响应,通过返回响应。
上面同样的例子,返回一个HTMLResponse,可以是这样的。