从多个文件向Flask-RESTplus命名空间添加多个端点

问题描述

我正在使用Flask-Resplus API

我想在一个名称空间中创建多个端点。那很简单,但是如果我想分割代码以将端点添加到多个文件中,就会出现问题。

以下是我的应用程序文件

from flask_restplus import Namespace,Api
from flask import Blueprint

from test_controller1 import test_ns


blueprint = Blueprint('api',__name__)

api = Api(blueprint,title='Test API',version='1.0',description='Test API',)

api.add_namespace(test_ns,path='/test')

test_controller1.py

@test_ns.route("/test1")
class Test(Resource):
    def put(self):
        pass

test_controller2.py

from test_controller1 import test_ns

@test_ns.route("/test2")
class Test(Resource):
    def get(self):
        pass

如果我从test_controller_1导入test_ns,则只会在名称空间中添加test1端点。

如何在同一个命名空间中添加两个终结点(在不同文件中可用)?

解决方法

这可以通过在类之间定义名称空间(具有相同的名称)来完成。

test_controller1.py

test_ns1 = Namespace("test","Namespace for test")

test_controller2.py

test_ns2 = Namespace("test","Namespace for test")

将两个名称空间都添加到蓝图中。