python flask-restful 中reqparse的使用

长孙景焕
2023-12-01
from flask import Flask
from flask_restful import Resource, Api,reqparse
from flask_docs import ApiDoc

app = Flask(__name__)

restful_api = Api(app)

ApiDoc(app, title='Sample App Restful', version='0.1.4')


class TodoList(Resource):
    """Manage todolist"""
    def __init__(self):
        self.parse = reqparse.RequestParser()
    def post(self):
        """Submission of data
        Args:
            pass

        Returns:
            pass
        """
        self.parse.add_argument("test",type=str)
        self.parse.add_argument("test1",type=str)
        pp=self.parse.parse_args()
        print(pp)
        return {'test1': pp['test1']}

    def get(self):
        """
        @@@
        #### args
        | args | nullable | type | remark |
        |--------|--------|--------|--------|
        |    id    |    false    |    int   |    todo id    |
        #### return
        - ##### json
        > {...}
        @@@
        """
        return {'todos': 'get todolist'}


restful_api.add_resource(TodoList, '/todolist')

if __name__ == '__main__':
    app.run(port=5000, debug=True)

Required Arguments

parser.add_argument('name', required=True,
help="Name cannot be blank!")

Multiple Values & Lists

parser.add_argument('name', action='append')
curl http://api.example.com -d "name=bob" -d "name=sue" -d "name=joe"
And your args will look like this

args = parser.parse_args()
args['name']    # ['bob', 'sue', 'joe']

例子

 类似资料: