系列文章:
FastAPI 学习之路(一)fastapi--高性能web开发框架
FastAPI 学习之路(二)
FastAPI 学习之路(三)
FastAPI 学习之路(四)
FastAPI 学习之路(五)
FastAPI 学习之路(七)字符串的校验
FastAPI 学习之路(八)路径参数和数值的校验
FastAPI 学习之路(九)请求体有多个参数如何处理?
FastAPI 学习之路(十)请求体的字段
FastAPI 学习之路(十二)接口几个额外信息和额外数据类型
FastAPI 学习之路(十三)Cookie 参数,Header参数
FastAPI 学习之路(十四)响应模型
我们可以规定对应请求的状态码,那么我们应该如何来实现。在以下任意的接口路径中使用 status_code 参数来声明用于响应的 HTTP 状态码:
- @app.get()
- @app.post()
- @app.put()
- @app.delete()
我们可以简单的看下。
from fastapi import FastAPI app = FastAPI() @app.post("/items/", status_code=201) def create_item(name: str): return {"name": name}
我们用postman请求下。
接口可以正常请求,状态码返回的也是我们定义的201。
在接口文档上也可以正常展示我们成功的状态码
对于http的状态码,每个数字代表不一样的含义。
- 100 及以上状态码用于「消息」响应。你很少直接使用它们。具有这些状态代码的响应不能带有响应体。
- 200 及以上状态码用于「成功」响应。这些是你最常使用的。
- 200 是默认状态代码,它表示一切「正常」。
- 另一个例子会是 201,「已创建」。它通常在数据库中创建了一条新记录后使用。
- 一个特殊的例子是 204,「无内容」。此响应在没有内容返回给客户端时使用,因此该响应不能包含响应体。
- 300 及以上状态码用于「重定向」。具有这些状态码的响应可能有或者可能没有响应体,但 304「未修改」是个例外,该响应不得含有响应体。
- 400 及以上状态码用于「客户端错误」响应。这些可能是你第二常使用的类型。
- 一个例子是 404,用于「未找到」响应。
- 对于来自客户端的一般错误,你可以只使用 400。
- 500 及以上状态码用于服务器端错误。你几乎永远不会直接使用它们。当你的应用程序代码或服务器中的某些部分出现问题时,它将自动返回这些状态代码之一。
在fastapi中,你不用去记住每个状态码的含义,因为利用fastapi的内置的。我们可以看下。
from fastapi import FastAPI,status
那我们我们在写的时候,有对应的状态码以及代表的含义。我们可以根据对应的需求,去改变对应的状态码。