Flask-restplus:有什么办法大张旗鼓地对命名空间进行排序吗?

时间:2018-08-02 16:04:37

标签: python flask flask-restplus

Namespace项添加到Api后,是否可以对它们进行排序?

我正在关注文档,流程(AFAIK)似乎是:

a)创建API:

api = Api(version="1.0",
      title="MahApi",
      description="Mah Nice Little API",
      doc="/swagger-ui",
      strict_slashes=False)

b)定义名称空间:

ns = Namespace("sample_namespace",
           description="sample module api",
           path='/sample_one')
...
@ns.route('/test1', endpoint='sample_ns_test1')
class TestApi(Resource):

    def get(self):
        df = mah_service.get_some_data()
        return jsonify(json.loads(df.to_json(orient='records')))

c)将名称空间添加到API:

api.add_namespace(mah_sample_ns)

我面临的一个问题(尽管这是一个修饰,但很烦人)是名称空间没有以任何方式进行排序。看来我将需要自己在代码中手动对名称空间进行排序。是否有一种更聪明的pythonic方式来招摇排序名称空间?

1 个答案:

答案 0 :(得分:0)

我可能为时已晚,但我一直在想同样的事情,但使用flask_restx,所以发布此信息以希望对其他人有所帮助。但它似乎是按照导入命名空间的顺序进行的。

例如:

from rest.endpoints.Episodes import ns as episodes_namespace
from rest.endpoints.Plex import ns as plex_namespace
from rest.endpoints.Server import ns as server_namespace

将大摇大摆地订购为:

  1. 剧集
  2. 服务器

虽然:

from rest.endpoints.Server import ns as server_namespace
from rest.endpoints.Episodes import ns as episodes_namespace
from rest.endpoints.Plex import ns as plex_namespace

将大摇大摆地订购为:

  1. 服务器
  2. 剧集