前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >FastAPI(20)- Response Status Code 响应状态码

FastAPI(20)- Response Status Code 响应状态码

作者头像
小菠萝测试笔记
发布2021-09-27 15:52:21
发布2021-09-27 15:52:21
78700
代码可运行
举报
运行总次数:0
代码可运行

前言

和指定响应模型一样,可以在任何路径操作中添加参数 status_code,用于声明响应的 HTTP 状态码

  • @app.get()
  • @app.post()
  • @app.put()
  • @app.delete()

最简单的栗子

代码语言:javascript
代码运行次数:0
运行
复制
#!usr/bin/env python
# -*- coding:utf-8 _*-
"""
# author: 小菠萝测试笔记
# blog:  https://www.cnblogs.com/poloyy/
# time: 2021/9/21 10:27 下午
# file: 18_status_code.py
"""
import uvicorn
from fastapi import FastAPI

app = FastAPI()


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


if __name__ == "__main__":
    uvicorn.run(app="18_status_code:app", host="127.0.0.1", port=8080, reload=True, debug=True)
重点
  • status_code 接收一个带有 HTTP 状态代码的 number
  • status_code 也可以接收一个 IntEnum
  • 如果是 number,可以使用 ,里面都是封装好的状态码变量,直接调用即可

from fastapi import status

  • 如果是 IntEnum,可以使用 ,是一个 int 类型的枚举类

from http import HTTPStatus

status 的栗子

代码语言:javascript
代码运行次数:0
运行
复制
from fastapi import status

app = FastAPI()

@app.post("/items/", status_code=status.HTTP_201_CREATED)
async def create_item(name: str):
    return {"name": name}
  • 更推荐用这个,因为变量名会包含状态码+含义
  • 是直接来自 starlette.status ,提供的东西都是一样的

fastapi.status

HTTPStatus 的栗子

代码语言:javascript
代码运行次数:0
运行
复制
from http import HTTPStatus

app = FastAPI()

@app.post("/items/", status_code=HTTPStatus.CREATED)
async def create_item(name: str):
    return {"name": name}

status_code 的作用

  • 在响应中返回该状态代码
  • 在 OpenAPI Schema 中记录它,也会显示在 Swagger API 文档中
正确传参的请求结果
查看 Swagger API 文档

默认的 200 变成了 201

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 最简单的栗子
    • 重点
  • status 的栗子
  • HTTPStatus 的栗子
  • status_code 的作用
    • 正确传参的请求结果
    • 查看 Swagger API 文档
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档