Flask 学习-52.Flask-RESTX 生成 Swagger 文档带上Authorization认证
前言
我们在开发的接口中,一般会带上用户登录的token认证,需在请求头部传Authorization。
Flask-RESTX 生成 Swagger 文档,可以直接在文档上登录,方便快速测试接口。
需登录认证的接口
接着前面一篇,需要登录的接口加上@jwt_required()
装饰器
from flask_jwt_extended import jwt_required
@api.route('/')
class TodoList(Resource):
'''Shows a list of all todos, and lets you POST to add new tasks'''
@api.doc(description='接口描述,描述接口在什么场景使用 list_todos')
@api.marshal_list_with(todo)
@jwt_required()
def get(self):
'''List all tasks'''
return DAO.todos
在 Swagger 文档中测试该接口
会返回401
接下来我们看下,如何在文档中全局登录,传token
添加Authorization
在apis/__init__.py
文件中,实例化Api时候添加security参数
api = Api(
title='yoyo API 接口文档',
version='1.0',
description='API 文档描述',
security="Bearer Auth",
)
这时候文档中就会看到有锁的图标
接着再添加一个authorizations参数
api = Api(
title='yoyo API 接口文档',
version='1.0',
description='API 文档描述',
security="Bearer Auth",
authorizations={
"Bearer Auth": {
"type": "apiKey",
"in": "header",
"name": "Authorization",
"description": "Add a jwt with ** Bearer token"
}
}
)
于是在文档的右上角就会有个 Authorize 图标
全局登录
先登录后拿到token
把token复制出来,在 Authorize 图标点开,在输入框的格式“Bearer 复制token”
如下图所示就是登录成功了
接下来访问其他接口,就会自动在请求头部带上token了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2021-09-06 python测试开发django-115.Paginator分页器展示table表格数据
2021-09-06 python面试题-如"上海 深圳 深圳 上海",要求输入一个匹配模式,比如: aabb,判断是否符合
2021-09-06 2021年第 9 期《python接口web自动化+测试开发》课程,10月17号开学!