fastapi教程-进阶六(Response Status Code)

tech2023-02-25  112

参考内容:

https://fastapi.tiangolo.com/

在fastapi教程-进阶五(Response Model)中我们学习了如何控制响应体结构,这节来学习如何使用http状态码:

from fastapi import FastAPI app = FastAPI() @app.post("/items/", status_code=201) async def create_item(name: str): return {"name": name}

启动服务,打开http://127.0.0.1:8000/docs,我们来看看response:

这个例子通过status_code来自定义了状态码,201代表了新建资源,但是假如我们在使用状态码时忘记了对应的数字怎么办呢?这里fastapi就很贴心了,它为我们提供了枚举值:

这里也可以使用from starlette import status。

HTTP状态码

100以上表示“信息”。我们很少直接使用它们。具有这些状态码的响应不能带有主体。200及以上表示“成功”响应。这些是最常使用的。 默认状态代码为200,表示一切正常。另一个示例是201,“已创建”。通常在数据库中创建新记录后使用。特殊情况是204,“无内容”。当没有内容返回给客户端时使用此响应,因此该响应必须没有正文。 300及更高版本用于“重定向”。具有这些状态代码的响应可能带有或可能没有主体,但304,“未修改”除外,该主体不能具有一个主体。400及更高版本适用于“客户端错误”响应。这些可能最常使用的第二种类型。 对于“未找到”响应,示例为404。对于来自客户端的一般错误,您可以仅使用400。 500及以上是服务器错误。我们几乎永远不会直接使用它们。当您的应用程序代码或服务器中的某些部分出现问题时,它将自动返回这些状态代码之一。

上述栗子均放到git上啦,地址:戳这里

最新回复(0)