【发布时间】:2021-02-20 10:31:40
【问题描述】:
我正在使用 flask-restx 库构建我的第一个 API。我用它来生成带有注释的 API 的 Swagger 文档。我目前有一些用于发布方法的字段,但默认情况下它们都接受字符串形式的输入,您必须在 Swagger 中输入它们的值“试试看”。如何使它们成为下拉列表,以便用户从中选择输入参数?
我目前为我的命名空间使用以下装饰器:
@ns.route('/')
@ns.param('param_1', 'param1')
@ns.param('param_2', 'param2')
@ns.param('param_3', 'param3')
class EndpointName(Resource):
我用这样的 post 方法解析它们:
parser = reqparse.RequestParser() # initialize
parser.add_argument('param_1', type=str, required=True)
parser.add_argument('param_2', type=str, required=True)
parser.add_argument('param_3', type=int, required=True)
args = parser.parse_args()
它们目前以大张旗鼓的形式显示为输入字段。我将如何使它们成为具有特定值的下拉列表以供选择?我应该向装饰器添加一些东西吗?在解析器中设置不同的类型?
谢谢。
【问题讨论】:
-
这能回答你的问题吗? flask restx enum model
-
嗨。它不是。我目前使用@Namespace.param 装饰器和 RequestParser()。不确定如何在这种情况下使用链接中的答案...
-
我在我的问题中添加了代码 sn-ps。非常感谢您的帮助。
-
没有找到flask方式,但是swagger期望
allowable values看起来像stackoverflow.com/a/26647373/2361131
标签: python api drop-down-menu swagger flask-restx