⚠️ Python编写简易API

简介: Python编写简易API

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


所有的操作,仅在mac系统上实操过


前期准备


创建一个虚拟环境:


$ mkdir flask_restful
$ cd flask_restful
$ python3 -m venv venv
复制代码


激活虚拟环境:


$ . venv/bin/activate
复制代码


虚拟环境退出:


$ deactivate
复制代码


安装flaskflask_restful


$ pip install flask
$ pip install flask_restful
复制代码


项目接口模拟


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


⚠️ 这里使用到的数据为模拟数据,并未连接数据库


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": {}
}



相关文章
|
1天前
|
SQL 并行计算 API
Dask是一个用于并行计算的Python库,它提供了类似于Pandas和NumPy的API,但能够在大型数据集上进行并行计算。
Dask是一个用于并行计算的Python库,它提供了类似于Pandas和NumPy的API,但能够在大型数据集上进行并行计算。
19 9
|
2天前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
【7月更文挑战第13天】在Web开发中,AJAX和Fetch API是实现页面无刷新数据交换的关键。在Flask博客系统中,通过创建获取评论的GET路由,我们可以展示使用AJAX和Fetch API的前端实现。AJAX通过XMLHttpRequest发送请求,处理响应并在成功时更新DOM。Fetch API则使用Promise简化异步操作,代码更现代。这两个工具都能实现不刷新页面查看评论,Fetch API的语法更简洁,错误处理更直观。掌握这些技巧能提升Python Web项目的用户体验和开发效率。
15 7
|
2天前
|
XML 前端开发 API
惊艳全场的秘诀!AJAX、Fetch API与Python后端,打造令人惊叹的Web应用!
【7月更文挑战第13天】构建现代Web应用的关键在于提供无缝用户体验,这涉及AJAX和Fetch API的异步数据交换以及Python(如Flask)的后端支持。Fetch API以其基于Promise的简洁接口,改进了AJAX的复杂性。例如,一个Flask应用可提供用户数据,前端利用Fetch API在不刷新页面的情况下显示信息。这种结合提升了效率,减少了服务器负载,是现代Web开发的趋势。随着技术发展,预期将有更多工具优化这一过程。
10 3
|
10天前
|
JSON 关系型数据库 API
Python 使用 FastAPI 和 PostgreSQL 构建简单 API
最近一年公司也在卷 LLM 的应用项目,所以我们也从 goper => Pythoner。 这一年使用最多的就是 Python 的 FastAPI 框架。下面一个简易项目让你快速玩转 Python API Web。 API代表应用程序编程接口,是软件开发中最重要的概念之一。它允许程序通过发送和接收数据与其他服务进行交互。API Web 通信最广泛使用的标准之一是 REST,它依赖于JSON 格式或键值对,类似于 Python 的字典。 如果想用 Python 构建一个,那么可以从几个框架中选择。Flask -RESTful、Django Rest Framework 和 FastAPI 是最受
|
16天前
|
JSON 安全 API
如何高效编写API接口:以Python与Flask为例
构建RESTful API的简明教程:使用Python的Flask框架,从环境准备(安装Python,设置虚拟环境,安装Flask)到编写首个API(包括获取用户列表和单个用户信息的路由)。运行API服务器并测试在`http://127.0.0.1:5000/users`。进阶话题包括安全、数据库集成、API文档生成和性能优化。【6月更文挑战第27天】
40 7
|
1天前
|
前端开发 API 开发者
深度剖析:AJAX、Fetch API如何成为Python后端开发者的最佳拍档!
【7月更文挑战第14天】在Web开发中,前端与后端的协作关键在于异步数据交换。AJAX和Fetch API是两种主要技术,用于不刷新页面的情况下与服务器通信。AJAX依赖XMLHttpRequest,常用于JSON数据传输,而Fetch API是现代替代品,基于Promise,语法简洁。Python的Flask框架可创建API接口来响应这些请求。了解并熟练使用这些技术能提升Python后端开发的效率,构建高性能的Web应用。
6 0
|
1天前
|
前端开发 API 开发者
从零到精通,AJAX与Fetch API让你的Python Web前后端交互无所不能!
【7月更文挑战第14天】在Web开发中,AJAX和Fetch API扮演着关键角色,用于前后端异步通信。AJAX通过XMLHttpRequest实现页面局部更新,但回调模式和复杂API有一定局限。Fetch API作为现代替代,利用Promise简化异步处理,提供更丰富功能和错误处理。Python后端如Flask、Django支持这些交互,助力构建高性能应用。从AJAX到Fetch API的进步,结合Python,提升了开发效率和用户体验。
6 0
|
1天前
|
XML 前端开发 API
颠覆传统!AJAX、Fetch API与Python后端,开启Web开发新篇章!
【7月更文挑战第14天】Web开发中,AJAX作为异步通信先驱,与新兴的Fetch API一起革新交互体验。Fetch基于Promise,简化了请求处理。Python后端,如Flask,提供稳定支撑。这三者的融合,推动Web应用达到新高度,实现高效、实时交互。通过示例展示,我们看到从发送请求到更新UI的流畅过程,以及Python如何轻松返回JSON数据。这种组合揭示了现代Web开发的潜力和魅力。
7 0
|
1天前
|
前端开发 JavaScript API
告别‘老司机’时代,AJAX与Fetch API让你的前端与Python后端无缝对接!
【7月更文挑战第14天】前端与后端交互的关键技术是AJAX和Fetch API。AJAX允许不刷新页面更新内容,而Fetch API提供了Promise基
|
1天前
|
机器学习/深度学习 TensorFlow API
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
9 0