flask-restful 模块

flask-restful 模块,第1张

flask-restful 模块 1 安装
pip install flask-restful
2 官方文档

Flask-RESTful — Flask-RESTful 0.3.8 documentation

3 样例代码
from flask_restful import Resource, Api, reqparse

'''  创建 Api 对象,用于管理 类视图(资源) '''
api = Api(app)

'''  验证端提交过来的参数  '''
parser = reqparse.RequestParser()


class TestCaseResource(Resource):
    def get(self):
        '''
        对前端 reuest 提交过来的参数进行验证,对前端提交过来的 username 参数进行校验,校验规则
        是一套规则的组合,都满足代码才会往下走,只要有一个校验规则不通过,就会 response 给前端 
        json_str 的异常信息,内容为
        {
           "message": {
           "username": "Please input username: " 
           }
        }
        如果 校验规则中没有指定 help 异常返回信息,默认返回如下内容
        {
            "message": {
            "username": "Missing required parameter in the JSON body"
            }
        }
        各个校验规则详细说明如下 
        location 参数所在的位置,数据类型为 list ,元素可以为 json(post 请求的 body 且 body 
        的数据格式为 json 串)、form(post 请求的 body ,但不要求 body 的数据格式必须为 json 
        串)、args(url 中的查询参数)、values(form 或 args)、headers、cookies,也就是这个
        参数必须以这些参数体中出现,例如 location=['args'] 表示参数必须以 查询参数 出现,如果以 
        路径参数、body 体中出现,都会校验不通过。
        type 参数的数据类型,支持的值有 int、zero_int、str、empty_str 
        '''
        parser.add_argument(name='username', 
                            location=['json', 'args'], 
                            nullable=False, 
                            required=True, 
                            type=str, 
                            help='Please input username: ') 
 
        '''
        参数校验通过了,将所有的参数都取出来,返回值的数据类型为 .
        flask_restful.reqparse.Namespace,本质其实一个 dict
        '''
        args = parser.parse_args()

        '''
        response 返回一个 dict ,但 flask_restful 模块会自动转成 str_json 返给 客户端
        '''
        return {
            'foo': 'post',
            '''  将 request 传过来的 username 参数取出来  '''
            'username': args['username']  
        }

''' 将 Resource 资源添加到路由中  '''
api.add_resource(TestCaseResource, '/test-case/')

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5479371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存