zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    理解SSL、HTTPS原理中的对称加密与非对称加密
    lib下的Jar包在项目打包的时候提示不能找不到
    springboot2.0 最大上传文件大小遇到的错误Failed to bind properties under 'spring.servlet.multipart.max-file-size'
    Executors创建线程池的几种方式以及使用
    JAVA深入研究——Method的Invoke方法(转)
    git merge 与 git rebase的区别
    git rebase
    git fetch , git pull
    nginx搭建(centos7)
    idea过期激活
  • 原文地址:https://www.cnblogs.com/sea-stream/p/14182105.html
Copyright © 2011-2022 走看看