簡體   English   中英

Flask RestPlus/RestX:如何在命名空間之間共享 API 模型?

[英]Flask RestPlus/RestX: how do I share API models between Namespaces?

我的 Flask-RestX 應用程序中有以下結構:

  • api_models
    • 用戶
    • 權限
  • 命名空間
    • 用戶
    • 權限

我在api_models/permissions 中有一個permission_model ,我想在api_models/users中的user_model使用它 用例:

權限模型:(api_models/permissions.py 中

permission_model = permission_api.model('Permission', {
    "id": fields.String(description="Permission ID", required=True)
})

用戶模型:(api_models/users.py 中

from .permissions import permission_model

user_model = users_api.model('User', {
    "id": fields.String(description="User ID", required=True),
    "permissions": fields.List(fields.Nested(permission_model))
})

我認為這就像將模型從一個文件導入另一個文件一樣簡單,但是這樣做時整個 API 會崩潰(“沒有提供 API 定義。”)。 我認為這是因為它們附加到不同的命名空間?

  1. 有解決方法嗎?
  2. 人們如何跨命名空間使用模型?

謝謝。

這實際上按預期工作。 在花了很多時間試圖理解為什么模型不被共享之后,我從頭開始,審查每一行代碼,當我到達命名空間注冊塊時......我感到非常愚蠢:我忘記注冊應用程序中的實際“權限”命名空間。 這樣做了,現在工作正常,模型按預期共享。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM