FastAPI 学习之路(十五)响应状态码

简介: FastAPI 学习之路(十五)响应状态码

系列文章:

  FastAPI 学习之路(一)fastapi--高性能web开发框架

  FastAPI 学习之路(二)

  FastAPI 学习之路(三)

  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请求下。


image.png


接口可以正常请求,状态码返回的也是我们定义的201。


       在接口文档上也可以正常展示我们成功的状态码


image.png


对于http的状态码,每个数字代表不一样的含义。


  • 100 及以上状态码用于「消息」响应。你很少直接使用它们。具有这些状态代码的响应不能带有响应体。


  • 200 及以上状态码用于「成功」响应。这些是你最常使用的。


  • 200 是默认状态代码,它表示一切「正常」。
  • 另一个例子会是 201,「已创建」。它通常在数据库中创建了一条新记录后使用。
  • 一个特殊的例子是 204,「无内容」。此响应在没有内容返回给客户端时使用,因此该响应不能包含响应体。


  • 300 及以上状态码用于「重定向」。具有这些状态码的响应可能有或者可能没有响应体,但 304「未修改」是个例外,该响应不得含有响应体。


  • 400 及以上状态码用于「客户端错误」响应。这些可能是你第二常使用的类型。


  • 一个例子是 404,用于「未找到」响应。
  • 对于来自客户端的一般错误,你可以只使用 400。


  • 500 及以上状态码用于服务器端错误。你几乎永远不会直接使用它们。当你的应用程序代码或服务器中的某些部分出现问题时,它将自动返回这些状态代码之一。


   在fastapi中,你不用去记住每个状态码的含义,因为利用fastapi的内置的。我们可以看下。


from fastapi import FastAPI,status

那我们我们在写的时候,有对应的状态码以及代表的含义。我们可以根据对应的需求,去改变对应的状态码。


image.png

相关文章
|
数据库
FastAPI(53)- Response Headers 响应设置 Headers
FastAPI(53)- Response Headers 响应设置 Headers
472 0
FastAPI(53)- Response Headers 响应设置 Headers
|
9月前
|
JSON NoSQL API
全面拥抱 FastApi — 响应模型
全面拥抱 FastApi — 响应模型
|
XML 数据格式
FastAPI(47)- 通过 Response 自定义响应的类型
FastAPI(47)- 通过 Response 自定义响应的类型
258 0
FastAPI(47)- 通过 Response 自定义响应的类型
|
JavaScript API 网络安全
FastAPI(52)- Response Cookies 响应设置 Cookies
FastAPI(52)- Response Cookies 响应设置 Cookies
331 0
FastAPI(52)- Response Cookies 响应设置 Cookies
|
存储
FastAPI(51)- 自定义响应之 StreamingResponse、FileResponse
FastAPI(51)- 自定义响应之 StreamingResponse、FileResponse
829 0
FastAPI(51)- 自定义响应之 StreamingResponse、FileResponse
FastAPI(50)- 自定义响应之 RedirectResponse
FastAPI(50)- 自定义响应之 RedirectResponse
288 0
FastAPI(50)- 自定义响应之 RedirectResponse
|
JSON API 数据格式
FastAPI(49)- 自定义响应之 ORJSONResponse、UJSONResponse
FastAPI(49)- 自定义响应之 ORJSONResponse、UJSONResponse
368 0
FastAPI(49)- 自定义响应之 ORJSONResponse、UJSONResponse
|
JSON API 数据格式
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse (下)
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse (下)
220 0
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse (下)
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse (上)
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse (上)
350 0
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse (上)
|
JSON 数据格式 Python
FastAPI(45)- 返回响应数据的五种常见方式
FastAPI(45)- 返回响应数据的五种常见方式
1031 0
FastAPI(45)- 返回响应数据的五种常见方式