FastAPI 学习之路(十五)响应状态码
系列文章:
FastAPI 学习之路(一)fastapi--高性能web开发框架
FastAPI 学习之路(十二)接口几个额外信息和额外数据类型
FastAPI 学习之路(十三)Cookie 参数,Header参数
我们可以规定对应请求的状态码,那么我们应该如何来实现。在以下任意的接口路径中使用 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
那我们我们在写的时候,有对应的状态码以及代表的含义。我们可以根据对应的需求,去改变对应的状态码。
文章首发在公众号,欢迎关注。