首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FastAPI 学习之路(十九)处理错误

FastAPI 系列文章: FastAPI 学习之路(一) FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四)使用pydantic模型做请求体...FastAPI 学习之路(五) FastAPI 学习之路(六) FastAPI 学习之路(七) FastAPI 学习之路(八) FastAPI 学习之路(九) FastAPI 学习之路(十)...FastAPI 学习之路(十一) FastAPI 学习之路(十二)额外数据类型 FastAPI 学习之路(十三)Cookie 参数,Header参数 FastAPI 学习之路(十四)响应模型...需要向客户端返回错误提示的场景主要如下: 客户端没有执行操作的权限 客户端没有访问资源的权限 客户端要访问的项目不存在 等等 ......200 及如下 JSON 响应结果: { "item": "雷子说测试开发" } 但如果客户端请求 http://example.com/items/test1(item_id 为test1 不存在

95850

FastAPI(八十一)实战开发《在线课程学习系统》接口开发-- 推荐课程列表与课程点赞

判断是否是学生 3.判断是否点赞过 4.点赞成功,在redis记录点赞的人 对应的状态码更新如下 状态码 含义 200 成功 102002 已经点赞,不能重复点赞 102001 课程不存在...course=db_get_course_id(db,id) if not course: return reponse(code=102001,message='课程不存在...》设计数据库以及连接配置 FastAPI(六十四)实战开发《在线课程学习系统》基础架构的搭建 FastAPI(六十五)实战开发《在线课程学习系统》接口开发--用户注册接口开发 FastAPI...》接口开发--修改密码 FastAPI(六十九)实战开发《在线课程学习系统》接口开发--留言功能开发 FastAPI(七十)实战开发《在线课程学习系统》接口开发-- 查看留言 FastAPI...-- 删除留言 FastAPI(七十四)实战开发《在线课程学习系统》接口开发-- 创建课程 FastAPI(七十五)实战开发《在线课程学习系统》接口开发-- 课程详情 FastAPI(七十六

44420
您找到你想要的搜索结果了吗?
是的
没有找到

FastAPI(27)- Handling Errors 处理错误

前言 许多情况下,需要向客户端返回一些特定的错误,比如 客户端没有足够的权限进行该操作 客户端无权访问该资源 客户端尝试访问的项目不存在 HTTPException 介绍 要将带有错误的 HTTP 响应...raise 它,而不是 return 它 查看一下 HTTPException 源码 status_code:响应状态吗 detail:报错信息 headers:响应头 简单的栗子 当 item_id 不存在的时候...import FastAPI, HTTPException, status app = FastAPI() items = {"foo": "The Foo Wrestlers"} @app.get...item_id not in items: raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="item_id 不存在...import FastAPI, HTTPException, status, Request from fastapi.responses import JSONResponse app = FastAPI

99910

【云+社区年度征文】全面拥抱FastApi-优雅的处理HTTPException

在开发接口或者服务的时候,经常会遇到需要给客户端返回异常错误 例如: 用户操作权限不够 参数错误 请求的资源不存在.....众所周知,因客户端或调用方的原因导致出错的,返回的状态码是以 4 开头的 (400~499) 比如常见的 404 Not Found, 资源不存在......为了直观友好的给客户端返回错误, 在 FastApi 中一般使用 HTTPException from fastapi import FastAPI, HTTPException app = FastAPI...from fastapi import FastAPI, Request from fastapi.responses import JSONResponse class UnicornException...from fastapi import FastAPI, Request, status from fastapi.encoders import jsonable_encoder from fastapi.exceptions

1.8K40

(进阶篇)Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架

所以本篇内容将注重于 FastAPI 的项目生产环境,诸如 数据库,路由蓝图,数据验证等问题在 FastAPI 中的具体操作和一些自己碰到的坑,分享给正在进攻 FastAPI 的各位小伙伴。 ?...username).first() if not db_user: raise HTTPException(status_code=400, detail="用户不存在...username).first() if not db_user: raise HTTPException(status_code=400, detail="用户不存在...异常处理 在各种 http资源 不存在或者访问异常的时候都需要有 http状态码 和 异常说明,例如, 404 Not Found 错误,Post请求出现的 422,服务端的 500 错误,所以如何在程序中合理的引发异常...看看 FastAPI 中如何使用异常处理 from fastapi import FastAPI, HTTPException app = FastAPI() items = {"foo": "The

2.5K21

FastAPI 学习之路(二十一)请求体 - 更新数据

FastAPI 系列文章: FastAPI 学习之路(一) FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四)使用pydantic模型做请求体...FastAPI 学习之路(五) FastAPI 学习之路(六) FastAPI 学习之路(七) FastAPI 学习之路(八) FastAPI 学习之路(九) FastAPI 学习之路(十)...FastAPI 学习之路(十一) FastAPI 学习之路(十二)额外数据类型 FastAPI 学习之路(十三)Cookie 参数,Header参数 FastAPI 学习之路(十四)响应模型...FastAPI 学习之路(十五)响应状态码 FastAPI 学习之路(十六)Form表单 FastAPI 学习之路(十七)上传文件 FastAPI 学习之路(十八)表单与文件 FastAPI 学习之路...read_item(item_id: str): return items[item_id] 我们去获取下 我们去更新下数据 我们去更新一个不存在的数据

86050

FastAPI 学习之路(二)

假如,我们想要约定name的数据是int类型,怎么约定呢 from fastapi import FastAPI app = FastAPI() @app.get("/{name}") def root...假设你有另外一个路径参数one,如下 from fastapi import FastAPI app = FastAPI() @app.get("/{name}") def root(name:int...这是为什么呢,其实呢,这是因为fastapi会按照路径的顺序匹配,当你输入one,默认匹配的是第一个带参数的路径,那么我们现在调整下 from fastapi import FastAPI app =...from fastapi import FastAPI from enum import Enum app = FastAPI() class ModelName(str, Enum): beijing...我们输入不存在枚举中的 ? 我们看下接口文档中如何展示 ? 默认我们只能限定输入这两个。其他的在接口文档没法输入,在接口请求中会返回错误信息。

86230

FastAPIfastapi-amis-admin:强大而可扩展的后台管理解决方案!

我们都知道 Django 生态丰富,功能强大,适用于中、大型项目,并且自带了后台管理系统;而 FastAPI 更适用于构建高性能的 API,后台管理系统需要另外开发 本篇文章将介绍 FastAPI 结合...fastapi-amis-admin 快速搭建后台管理系统的步骤 fastapi-amis-admin 是一款高性能、高效且易于扩展的 FastAPI 管理框架;它受到 django-admin 的启发...指定数据库连接信息 然后,创建数据模型对象(继承于 SQLModel)映射数据库中的某张表,定义表名及表字段,配置到后台管理(继承于 ModelAdmin)中去 PS:如果数据库中已经存在表,就直接使用;如果不存在...,就创建一张新的表 接着,创建一个 FastAPI 应用,使用 AdminSite 对象进行挂载 最后,在初始化事件方法中初始化数据库表 from fastapi import FastAPI from...项目地址: https://github.com/amisadmin/fastapi-user-auth FastAPI-User-Auth 是一个简单而强大的 FastAPI 用户 RBAC 认证授权库

2.2K40

一个Bug的修复过程回顾

看日志,这个错误是在Fastapi返回响应数据的时候报的错,Fastapi这点做得不够好,如果是在响应过程抛出的异常可能不能被异常处理程序捕获到。...从fastapi的源码定位到发生异常的数据 虽然我们没法直接捕获响应数据的异常,不过我们却可以直接修改Fastapi的源码,在框架源码中增加异常处理程序,发生异常的时候把数据记录起来。...经过查看fastapi对应的源码发现,在默认情况下,fastapi使用的json序列化工具是这样的: class JSONResponse(Response): media_type = "application...使用的参数和我测试json时使用的不同,特别注意allow_nan这个参数,在fastapi里传的值是False,而查看dumps函数的函数参数可知,该参数的默认值是True。...只要该变量的值为: var = float('nan') 简单理解也可以:一个不存在的值和一个不存在的值,不相等。

1.4K40
领券