Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当我的函数中有多个http方法(GET、POST)时,如何使用Flasger编写API文档?_Python_Api_Flask_Swagger_Flasgger - Fatal编程技术网

Python 当我的函数中有多个http方法(GET、POST)时,如何使用Flasger编写API文档?

Python 当我的函数中有多个http方法(GET、POST)时,如何使用Flasger编写API文档?,python,api,flask,swagger,flasgger,Python,Api,Flask,Swagger,Flasgger,我正在使用Flasger编写API文档,我的一个函数同时具有GET和POST方法。问题是Flasger无法区分GET和POST方法。我只为post方法编写了代码,但它也将该代码与GET方法相关联 我已经附上了显示我所写代码的图片,正如你所看到的,这里我写的代码只用于POST方法,但它也与GET方法相关联,如第二张图片所示 此图显示GET和POST方法的招摇过市UI。正如您所看到的,对于GET方法,它显示出与POST方法相同的结果,尽管我还没有为GET方法编写任何东西 我想用docstring

我正在使用Flasger编写API文档,我的一个函数同时具有GET和POST方法。问题是Flasger无法区分GET和POST方法。我只为post方法编写了代码,但它也将该代码与GET方法相关联

我已经附上了显示我所写代码的图片,正如你所看到的,这里我写的代码只用于POST方法,但它也与GET方法相关联,如第二张图片所示

此图显示GET和POST方法的招摇过市UI。正如您所看到的,对于GET方法,它显示出与POST方法相同的结果,尽管我还没有为GET方法编写任何东西


我想用docstring的方式将swagger集成到我的代码中,我应该怎么做

实际上,Flasger能够区分在不同http方法上运行的单个函数的文档。但是,它无法从单个docstring创建两个单独的文档。Flasger文档提供的解决方案如下所述:

@app.route('/api/',endpoint='with_user_name',methods=['PUT','GET']))
@app.route('/api/',endpoint='不带用户名称〕
@swag_from('path/to/external_file.yml',endpoint='with_user_name')
@swag_from('path/to/external_file_no_user_get.yml',endpoint='without_user_name',methods=['get']))
@swag_from('path/to/external_file_no_user_put.yml',endpoint='without_user_name',methods=['put']))

…但它需要将文档保存在单独的文件中

实际上,Flasger能够区分在不同http方法上运行的单个函数的文档。但是,它无法从单个docstring创建两个单独的文档。Flasger文档提供的解决方案如下所述:

@app.route('/api/',endpoint='with_user_name',methods=['PUT','GET']))
@app.route('/api/',endpoint='不带用户名称〕
@swag_from('path/to/external_file.yml',endpoint='with_user_name')
@swag_from('path/to/external_file_no_user_get.yml',endpoint='without_user_name',methods=['get']))
@swag_from('path/to/external_file_no_user_put.yml',endpoint='without_user_name',methods=['put']))

…但它需要将文档保存在单独的文件中

请不要将代码作为图像发布。将代码作为文本发布,并使用
{}
按钮将其格式化为代码。请不要将代码作为图像发布。将代码作为文本发布,并使用
{}
按钮将其格式化为代码。
@app.route('/api/<string:username>', endpoint='with_user_name', methods=['PUT', 'GET'])
@app.route('/api/', endpoint='without_user_name')
@swag_from('path/to/external_file.yml', endpoint='with_user_name')
@swag_from('path/to/external_file_no_user_get.yml', endpoint='without_user_name', methods=['GET'])
@swag_from('path/to/external_file_no_user_put.yml', endpoint='without_user_name', methods=['PUT'])