首页 > 其他分享 >Flask 学习-41.Flask-RESTPlus 入门到放弃

Flask 学习-41.Flask-RESTPlus 入门到放弃

时间:2022-09-02 22:56:16浏览次数:74  
标签:__ Flask app RESTPlus 41 flask restplus import

前言

Flask-restfull 是flask 框架开发接口的一个框架,Flask-RESTPlus是Flask-restfull 升级版,功能做了一些优化,主要是可以生成swagger 在线文档了。

环境准备

先安装 Flask-RESTPlus 插件

pip install flask-restplus

目前最新版本v0.13.0 官方文档地址https://flask-restplus.readthedocs.io/en/stable/quickstart.html

快速入门

与其他所有扩展一样,可以使用应用程序对象对其进行初始化:

from flask import Flask
from flask_restplus import Api

app = Flask(__name__)
api = Api(app)

或者懒惰地使用工厂模式:

from flask import Flask
from flask_restplus import Api

api = Api()

app = Flask(__name__)
api.init_app(app)

hello world 程序

一个最小的 Flask-RESTPlus API 如下所示:

from flask import Flask
from flask_restplus import Resource, Api

app = Flask(__name__)
api = Api(app)

@api.route('/hello')
class HelloWorld(Resource):
    def get(self):
        return {'hello': 'world'}

if __name__ == '__main__':
    app.run(debug=True)

但是启动就会报错

Traceback (most recent call last):
  File "D:/demo/xuexi_flask/app.py", line 3, in <module>
    from flask_restplus import Resource, Api
  File "D:\demo\xuexi_flask\venv\lib\site-packages\flask_restplus\__init__.py", line 4, in <module>
    from . import fields, reqparse, apidoc, inputs, cors
  File "D:\demo\xuexi_flask\venv\lib\site-packages\flask_restplus\fields.py", line 17, in <module>
    from werkzeug import cached_property
ImportError: cannot import name 'cached_property' from 'werkzeug' (D:\demo\xuexi_flask\venv\lib\site-packages\werkzeug\__init__.py)

主要原因是 werkzeug 这个模块不兼容,由于 Flask-RESTPlus 的作者很久没更新了,小伙伴们都找不到这个作者了,这个项目也被放弃了.
在github上可以看到https://github.com/noirbizarre/flask-restplus

为了让这个项目继续更新下去,现在用Flask-RESTX 代替了。
Flask-RESTX 官网地址https://flask-restx.readthedocs.io/en/latest/quickstart.html
Flask-RESTX github 地址https://github.com/python-restx/flask-restx

网上看到关于Flask-RESTPlus 的教程是比较老的版本了,最新的flask 2.2.2版本并不支持,所以这个还没入门的小伙伴可以直接放弃,去学Flask-RESTX。

标签:__,Flask,app,RESTPlus,41,flask,restplus,import
From: https://www.cnblogs.com/yoyoketang/p/16651595.html

相关文章

  • node41-node全局对象global
     global.console.log('我是歌谣');global.setTimeout(function(){console.log('123');},2000) ......
  • Flask 学习-40.Flask-RESTful 结合蓝图使用
    前言Flask-RESTful结合蓝图使用设计接口RESTful接口没使用蓝图之前注册接口fromappsimportcreate_app,db,jwtfromflaskimporturl_for,request,jsonifyf......
  • Flask 学习-38.Flask-RESTful 序列化输出中文显示问题
    前言flask接口无法显示中文,可以添加全局配置JSON_AS_ASCII=False,但是解决不了Flask-RESTful序列化输出中文问题flask配置中文显示添加全局配置项JSON_AS_ASCII=Fa......
  • flask-闪现
    使用介绍#闪现的概念:在一个视图函中将数据存放在session中,在另一个视图函数中取出该数据#视图被访问一次就将数据在session中存放一遍,数据从session中取出一次就少一......
  • 构建计算机视觉 WebApp — Flask、OpenCV 和 MongoDB
    构建计算机视觉WebApp—Flask、OpenCV和MongoDB作为一名数据科学家,具备一些软件工程技能已成为就业市场中一项非常重要的技能。如果您可以构建模型,我建议您提高简单......
  • Flask 学习-35.restful-full 自定义错误内容 error_msg 使用
    前言当接口请求参数不合法的,可以给前端返回报错原因,给个友好的返回消息,在add_argument()中可以通过help参数来定义错误信息每个字段的错误消息可以使用help参数(Requ......
  • Flask 学习-34.restful-full 请求参数自定义参数校验类型 (reqparse.RequestParser()
    前言在校验请求参数的时候,除了一些基本的required=True,type类型外,还会遇到一些校验,比如是否为空,字符串长度,以及一些自定义的参数规则。add_argument参数下面是add_arg......
  • OGG 19.1 打补丁(19.1.0.0.220419)
    OGG从12.1.2开始,已经变成图形界面安装,类似于ORACLE软件安装。针对OGG的补丁安装也与ORACLE软件基本一致。(1)、更新OPATCH。OGG软件目录中自带的OPATCH版本太老了,需要更......
  • Flask 学习-33.restful-full 请求参数校验reqparse.RequestParser()
    前言接口请求参数的校验是个大的工作量,参数比较少的时候还可以一个个去判断,参数多了写起来就很麻烦了。reqparse解析请求参数尽管Flask能够简单地访问请求数据(比如......
  • Flask启动方法
    代码内启动fromflaskimportFlask#创建flask应用app=Flask(__name__)#定义路由@app.route("/")defindex(): return"helloworld"#使用Flask实例方法启动if......