Flask-Restplus /路线

the*_*_ni 3 python flask-restplus

我正在尝试使用Flask-Restplus制作一个api,并大张旗鼓地记录下来。

到目前为止,这是我所拥有的,并且工作正常,但不知道如何添加根路由。

from flask import Flask, Blueprint
from flask_restplus import Api, Resource, apidoc

app = Flask('__name__')
blueprint = Blueprint('v1', __name__, url_prefix='/rest/v1')
api = Api(blueprint, ui=False, version='1.0')

@blueprint.route('/apidoc/', endpoint='apidoc')
def swagger_ui():
   return apidoc.ui_for(api)

@blueprint.route('/', endpoint='rootres')
  def root():
     return ''

app.register_blueprint(blueprint)


ns = api.namespace('test', description='desc')

@ns.route('/', endpoint='rootresource')
class RootResource(Resource)
   def get(self):
       ...
Run Code Online (Sandbox Code Playgroud)

虽然/ rest / v1 / test工作正常,但/ rest / v1给我的页面找不到。

如果我这样修改:

@blueprint.route('/aaa', endpoint='rootres')
   def root():
      return ''
Run Code Online (Sandbox Code Playgroud)

然后/ rest / v1 / aaa就可以了。

问题:如何使@ blueprint.route('/')工作?

use*_*441 6

我发现了非常相似的问题。我想使用自定义页面创建'/'路由,并在不同路径上使用swagger文档。

我的第一次尝试(无效)

from flask import Flask
from flask_restplus import Api

app = Flask(__name__)

api = Api(
    app= app,
    version='1.0',
    description='TEST API',
    doc='/docs/',
)

@app.route('/')
def hello():
    return "Hello on my page"

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5000)
Run Code Online (Sandbox Code Playgroud)

页面http://127.0.0.1:5000/返回404错误

工作实例

from flask import Flask
from flask_restplus import Api

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello on my page"

api = Api(
    app= app,
    version='1.0',
    description='TEST API',
    doc='/docs/',
    default='mapi',
    default_label='Super API'
)

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5000)
Run Code Online (Sandbox Code Playgroud)

经过测试:

  • 的Python 3.6.1
  • 烧瓶(0.12.1)
  • 烧瓶剩余量(0.10.1)