• flask_restful 接收post参数,返回json


    code

    from flask import Flask,jsonify,render_template,make_response
    from flask_restful import Api, Resource,request
    from flask_restful import reqparse
    
    #本文件所在目录
    workdir=os.path.abspath(os.path.dirname(__file__))
    
    app = Flask(__name__,static_url_path="",root_path=workdir)
    api = Api(app)
    
    encry_two=encry_two()
    class encrype(Resource):
        def post(self):
            parser = reqparse.RequestParser()
    
            # 第一个参数: 传递的参数的名称
            # 第二个参数(location): 传递参数的方式
            # 第三个参数(type): 验证参数的函数(可以自定义验证函数)
            parser.add_argument('args', location='json', type=str)
    
            # args是一个字典
            args = parser.parse_args()
    
            # 获取验证后的数据
            content = args.get('args')
            a=encry_two.encrypt_data(content)
            dic={}
            dic["before"]=content
            dic["encryped"]=a.decode()
            return jsonify(dic)
    
    class decrype(Resource):
        def post(self):
            parser = reqparse.RequestParser()
    
            # 第一个参数: 传递的参数的名称
            # 第二个参数(location): 传递参数的方式
            # 第三个参数(type): 验证参数的函数(可以自定义验证函数)
            parser.add_argument('args', location='json', type=str)
    
            # args是一个字典
            args = parser.parse_args()
    
            # 获取验证后的数据
            content = args.get('args')
            print(content)
            a=encry_two.get_decrype_str(content.encode())
            dic={}
            dic["before"]=content
            dic["decryped"]=a.decode()
            return jsonify(dic)
    
    class index(Resource):
        def get(self):
            #templates文件夹下面
            return render_template('aaa.html')
    
    api.add_resource(encrype, '/encrype')
    '''
    {
        "args":"221212"
    }
    '''
    api.add_resource(decrype,'/decrype')
    '''
    {
        "args":"jNKuAMkJZxl6hiPkFtTkTR6prQeTdD9Y7I/LpQ8yd1nuuF2In6UegLsdjtW1zaaD0ZILpRkjxrY7t8hf/J0ctwDLbNrvVN92/tMqXIK4iAiJTF45eUeSO5/e8+LA2+/1GMH/jTn9gqPZN+VnqW1CKaCmNHbKi0HsSWrEvv87p8Y="
    }
    '''
    api.add_resource(index,'/index')
    
    @api.representation("text/html")
    def out_html(data,code,headers):
        return make_response(data)
    
    if __name__ == '__main__':
        app.run(host="0.0.0.0", port=5000)
        #app.run(debug=True)
  • 相关阅读:
    力扣(LeetCode) 14. 最长公共前缀
    力扣(LeetCode)965. 单值二叉树
    力扣(LeetCode)258. 各位相加
    力扣(LeetCode)389. 找不同
    PTA 阶乘之和取模
    A. Sea Battle
    PTA 二叉树路径
    PTA 重构二叉树
    PTA 笛卡尔树
    绿豆蛙的归宿
  • 原文地址:https://www.cnblogs.com/sea-stream/p/14182105.html
Copyright © 2020-2023  润新知