swagger 如何使用Flask-Restplus创建POST API而不使URL与GET相同

hjzp0vay  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(167)

我是Flask和Flask-RestPlus的新手。我正在创建一个Web API,我希望在其中保持我的POST url不同于Swagger中可见的GET url。例如在Flask-Restplus中

@api.route('/my_api/<int:id>')
class SavingsModeAction(Resource):
    @api.expect(MyApiModel)
    def post(self):
        pass #my code goes here

    def get(self, id):
        pass #my code goes here

因此,在swagger中,这两个apis的url将看起来像
获取:/我的API/{id}
发布时间:/my_api/{id}
但是到目前为止,我还没有在我的post api中使用{id}部分,这可能会让用户对是更新现有记录还是创建新记录产生一点困惑,然而api的目的只是创建。

pgvzfuti

pgvzfuti1#

最好使用查询参数

例如GET:/我的API?id=

上面的代码将类似于

from flask import request

@api.route('/my_api')
class SavingsModeAction(Resource):

    @api.expect(MyApiModel)
    def post(self):
        ...

    def get(self):
        _id = request.args.get("_id", type=int)
        ...

相关问题