gpt4 book ai didi

带有蓝图和命名空间的 flask-restplus 嵌套命名空间

转载 作者:行者123 更新时间:2023-12-03 16:56:45 25 4
gpt4 key购买 nike

我用 flask-restplus 制作了 api 服务器.

在使用它时,我注意到它可能必须进行版本控制才能扩大规模。

所以引用文档,我发现命名空间和蓝图是可用的。

首先,像这样的文件结构。

/app
- /main
- __init__.py
- /controller
- /v1/
- article_controller.py
- __init__.py

[/main/v1/__init__.py]
from flask_restplus import Namespace, Api
from flask import Blueprint

from .article_controller import api as article_ns


blueprint = Blueprint('api', __name__)

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

api.add_namespace(article_ns, path='/articles')

我导入 article_controller.py并通过 add_namespace() 添加.

[/main/__init__.py]
from flask_restplus import Api
from flask import Blueprint

from app.main.controller.v1 import api as api_v1


blueprint = Blueprint('api', __name__)

api = Api(blueprint,
title='Appeal API v1',
version='1.0',
description='Appeal API v1',
# prefix='/api'
)

# Version1
api.add_namespace(api_v1, path='/v1/')

进口 v1并将其添加到命名空间。

但是当我访问 /v1/articles , 发生未找到错误。

我无法捕获错误的代码在哪里。

这里有什么解决办法吗?

谢谢。

最佳答案

你在哪里创建了你的 flask 应用程序?

在您的应用程序(项目的根目录)中,您应该有类似

app.py



这就是您定义 flask 应用程序并在其中注册蓝图的地方

像...
from flask import Flask
from main import blueprint as api1

app = Flask(__name__)
app.register_blueprint(api1)
app.run(debug=True)

look at this example in docs

关于带有蓝图和命名空间的 flask-restplus 嵌套命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53368183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com