最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • ⚠️ Python编写简易API

    正文概述 掘金(Jimmy)   2021-03-25   568

    ⚠️ Python编写简易API

    本文约550字,将耗费您约4⃣️分钟

    前期准备

    创建一个虚拟环境:

    $ mkdir flask_restful
    $ cd flask_restful
    $ python3 -m venv venv
    

    激活虚拟环境:

    $ . venv/bin/activate
    

    虚拟环境退出:

    $ deactivate
    

    安装flaskflask_restful

    $ pip install flask
    $ pip install flask_restful
    

    项目接口模拟

    在项目的根目录下面新建文件api.js,在此文件中进行数据的增删改查。

    from flask import Flask, jsonify, request
    from flask_restful import Api, Resource
    
    app = Flask(__name__)
    api = Api(app)
    
    USER_LIST = [{'id': 1, 'name': 'jimmy'}]
    
    class UserListApi(Resource):
        def get(self):
            return {'code': 10000, 'msg': 'get list success', 'data': USER_LIST}
    
        def post(self):
            json_data = request.get_json()
            new_id = len(USER_LIST) + 1
            USER_LIST.append({'id': new_id, 'name': json_data.get('name')})
            return jsonify({'code': 10000, 'msg': 'add user success', 'data': USER_LIST[new_id-1]})
    
    class UserApi(Resource):
        def get(self, id):
            return {'code': 10000, 'msg': 'get user success', 'data': {}}
    
        def put(self, id):
            return {'code': 10000, 'msg': 'update user success', 'data': {}}
    
        def delete(self, id):
            return {'code': 10000, 'msg': 'remove user success', 'data': {}}
    
    api.add_resource(UserListApi, '/users')
    api.add_resource(UserApi, '/users/<int:id>')
    
    if __name__ == '__main__':
        app.run(debug=True)
    

    之后运行应用:

    $ export FLASK_APP=api.py
    $ export FLASK_ENV=development
    $ flask run
    

    看到下面的输出,说明运行成功了:

     * Serving Flask app "flaskr" (lazy loading)
     * Environment: development
     * Debug mode: on
     * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
     * Restarting with stat
     * Debugger is active!
     * Debugger PIN: 577-682-777
    

    项目接口验证

    在上面的代码中,我们对users进行了相关的增删改查,下面我们来验证下:

    • 新增一个用户
    $ curl http://127.0.0.1:5000/users -X POST -H "Content-Type:application/json" -d '{"name": "tom"}'
    
    {
      "code": 10000, 
      "data": {
        "id": 2, 
        "name": "tom"
      }, 
      "msg": "add user success"
    }
    
    • 查询整个用户列表
    $ curl http://127.0.0.1:5000/users
    
    {
        "code": 10000,
        "msg": "get list success",
        "data": [
            {
                "id": 1,
                "name": "jimmy"
            },
            {
                "id": 2,
                "name": "tom"
            }
        ]
    }
    
    • 更新一个用户
    $ curl http://127.0.0.1:5000/users/1 -X PUT
    
    {
        "code": 10000,
        "msg": "update user success",
        "data": {}
    }
    
    • 获取一个用户
    $ curl http://127.0.0.1:5000/users/1
    
    {
        "code": 10000,
        "msg": "get user success",
        "data": {}
    }
    
    • 删除一个用户
    $ curl http://127.0.0.1:5000/users/1 -X DELETE
    
    {
        "code": 10000,
        "msg": "remove user success",
        "data": {}
    }
    
    

    后话

    • 参考:www.pythondoc.com/Flask-RESTf…

    • 参考:dormousehole.readthedocs.io/en/latest/

    • 更多内容:github.com/reng99

    • 微信小程序云开发初体验:juejin.cn/post/693746…


    起源地下载网 » ⚠️ Python编写简易API

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元