当前位置: 首页 > wzjs >正文

.网站链接策略怎么建设自己产品网站

.网站链接策略,怎么建设自己产品网站,河北工程信息网,个人服务平台Flask API 项目 Swagger 版本打架不兼容 1. 问题背景 在使用 Flask 3.0.0 时遇到以下问题: 安装 flask_restful_swagger 时,它强制将 Flask 降级到 1.1.4,并导致其他依赖(如 flask-sqlalchemy、flask-apispec)出现版…

Flask API 项目 Swagger 版本打架不兼容

1. 问题背景

在使用 Flask 3.0.0 时遇到以下问题:

  • 安装 flask_restful_swagger 时,它强制将 Flask 降级到 1.1.4,并导致其他依赖(如 flask-sqlalchemyflask-apispec)出现版本冲突。
  • 需要解决 Flask 版本兼容问题,并且集成 Swagger API 文档
2. 问题分析
  • flask_restful_swagger 是一个较为过时的库,已经不再更新,且与 Flask 3.x 版本不兼容。
  • flask-sqlalchemyflask-apispec 需要 Flask >= 2.2.5 版本,而 flask_restful_swagger 安装时强制降级 Flask 版本会导致兼容性问题。
3. 解决方案

为了解决版本冲突,采用以下方案:

  1. 安装 flask_restful_swagger 时会降级 Flask 版本

    • 在项目中,使用 flask_restful_swagger 的版本 0.20,它将 Flask 版本降级到 1.1.4
  2. 手动解决版本冲突

    • 安装完成后,立即 卸载 Flask 1.1.4 并安装 Flask 3.0.0,否则 flask-sqlalchemyflask-apispec 等插件会报错。

    具体步骤如下:

步骤一:安装兼容包
  1. 安装 flask_restful_swagger 最新版本(0.20):

    pip install flask_restful_swagger
    
步骤二:安装Flask
  1. 卸载 Flask 1.1.4:

    pip uninstall flask
    
  2. 安装 Flask 3.0.0:

    pip install flask==3.0.0
    
步骤三:配置 Flask 和 Flask-APISpec
  1. 应用配置 (__init__.py):

    在程序文件 __init__.pyy 中进行以下配置:

    from flask import Flask
    from flask_apispec import FlaskApiSpec
    from flask_restful import Api, Resource
    from flask_sqlalchemy import SQLAlchemy
    from flask_restful_swagger import swagger
    from apispec import APISpec
    from apispec.ext.marshmallow import MarshmallowPlugin# 实例化 Flask 应用
    app = Flask(__name__)# 配置 OpenAPI 和 Swagger 文档
    app.config.update({'APISPEC_SPEC': APISpec(title='My API',version='v1',plugins=[MarshmallowPlugin()],openapi_version='2.0.0'),'APISPEC_SWAGGER_URL': '/swagger/',  # Swagger JSON'APISPEC_SWAGGER_UI_URL': '/swagger-ui/'  # Swagger UI
    })# 实例化 Flask-RESTful API
    api = Api(app)
    db = SQLAlchemy(app)# 配置 FlaskApiSpec 用于注册 Swagger 文档
    docs = FlaskApiSpec(app)
    
步骤四:定义资源和路由

通过使用 Flask-RESTfulflask-apispec 来定义 API 资源,并添加 Swagger 文档注解。

  1. API 资源类

    class UserResource(Resource):@doc(description="获取用户详情",tags=[Book Resource])  # 文档注解def get(self):return {"message": "Hello, World!"}
    
  2. 将资源添加到 API

    api.add_resource(BookResource, '/books/<int:book_id>')
    docs.register(BookResource)  # 注册到 API 文档
    

    上面代码中,@doc 注解为该接口生成文档说明,docs.register() 将资源添加到 Swagger 文档中。

步骤五:访问 Swagger 文档
  • 启动 Flask 应用后,访问 http://127.0.0.1:5000/swagger-ui/ 来查看自动生成的 Swagger UI。
  • http://127.0.0.1:5000/swagger/ 返回的是 Swagger JSON 文档。

image-20250421164513411

4. 总结
  • 通过手动卸载并重新安装 Flask 3.0.0,结合 flask-apispec,可以解决 flask_restful_swagger 与 Flask 3.0.0 的版本冲突问题,并实现现代的 API 文档生成功能。
  • 完整流程:
    1. 安装 flask_restful_swagger,它会将 Flask 降级到 1.1.4。
    2. 卸载 Flask 1.1.4 并重新安装 Flask 3.0.0
    3. 配置 Flask 和 Flask-APISpec 以生成 Swagger 文档。
      wagger`**,它会将 Flask 降级到 1.1.4。
    4. 卸载 Flask 1.1.4 并重新安装 Flask 3.0.0
    5. 配置 Flask 和 Flask-APISpec 以生成 Swagger 文档。
    6. 定义 API 资源和路由,并通过 Swagger 生成 API 文档。
http://www.dtcms.com/wzjs/544647.html

相关文章:

  • 字体设计类网站电子商城网站开发与设计
  • 网站建设模块化实现莱芜免费发布信息网
  • 网站免费建站ppa如何提高网站的访问速度
  • 网站和网业的关系怎么在网上卖产品
  • php 关闭网站深圳龙华网站公司
  • 餐饮网站模板网站开发人员职责
  • jquery win8风格企业网站模板扫黄除恶网站构造结构怎么做
  • 建网站的目的长沙建网站公司
  • 网站页脚内容个人如何做百度推广
  • 免费行情软件app网站排行温州做外贸网站
  • 网站特色怎么写公司logo标志设计免费
  • 四川住房城乡和城乡建设厅网站如何在网站后台备份数据库
  • 网站设计理念建设网站要服务器
  • 仿163源码商城网网站模板交易平台源码整站打包网上购物平台大全
  • 中国住房和建设部网站网站怎么做背景
  • 网站吸流量甘肃建设厅官方网站
  • 专做国际时事评论网站自建网站需要哪些技术
  • 怎样 管理网站网站没有地图怎么做
  • 做网站的宽度为多少钱双语公司网站系统下载
  • ie6 网站模板建个企业网站需要多少钱
  • 江苏连云港网站设计公司亳州市网站建设公司
  • asp网站源码wordpress批量获取七牛外链
  • 在建设银行网站上买卖贵金属平台网站建设公司哪家好
  • 专业建筑工程网站建设局职责
  • 餐饮网站建设需求分析服务网络推广
  • lamp网站开发 pdfwordpress 网站同步
  • 淘客cms建站旅游景点推广软文
  • 山东省城乡建设部网站首页外贸网站如何选择域名
  • 绵阳网站建设国内最好用的免费建站平台
  • 泉州那家做网站公司好网络营销推广及优化方案