FastAPI(20)- Response Status Code 响应状态码
FastAPI(20)- Response Status Code 响应状态码
前言
和指定响应模型一样,可以在任何路径操作中添加参数 status_code,用于声明响应的 HTTP 状态码
- @app.get()
- @app.post()
- @app.put()
- @app.delete()
最简单的栗子
#!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,可以使用 from http import HTTPStatus ,是一个 int 类型的枚举类
status 的栗子
from fastapi import status
app = FastAPI()
@app.post("/items/", status_code=status.HTTP_201_CREATED)
async def create_item(name: str):
return {"name": name}
- 更推荐用这个,因为变量名会包含状态码+含义
- fastapi.status 是直接来自 starlette.status ,提供的东西都是一样的
HTTPStatus 的栗子
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
分类:
fastapi
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2021-01-05 K8s - Kubernetes重要概念介绍(Cluster、Master、Node、Pod、Controller、Service、Namespace)
2021-01-05 Dockerfile文件详解
2021-01-05 k8s简介
2021-01-05 mongodb存储过程
2021-01-05 存储过程详解