使用Python构建RESTful API

简介: 【10月更文挑战第8天】使用Python构建RESTful API

使用Python构建RESTful API

在现代应用程序中,RESTful API是实现客户端与服务器通信的标准方式。本文将介绍如何使用Python的Flask框架快速构建一个简单的RESTful API,并提供相关代码示例。

1. 环境准备

首先,确保你已经安装了Python和Flask。如果尚未安装Flask,可以通过以下命令安装:

pip install Flask

2. 创建Flask应用

接下来,我们创建一个简单的Flask应用,并定义基本的API端点。

from flask import Flask, jsonify, request

app = Flask(__name__)

# 数据库模拟
tasks = [
    {
   "id": 1, "title": "Learn Python", "done": False},
    {
   "id": 2, "title": "Build a REST API", "done": False}
]

@app.route('/tasks', methods=['GET'])
def get_tasks():
    return jsonify(tasks)

@app.route('/tasks/<int:task_id>', methods=['GET'])
def get_task(task_id):
    task = next((task for task in tasks if task["id"] == task_id), None)
    return jsonify(task) if task else ('', 404)

@app.route('/tasks', methods=['POST'])
def create_task():
    new_task = request.json
    tasks.append({
   "id": len(tasks) + 1, **new_task})
    return jsonify(new_task), 201

@app.route('/tasks/<int:task_id>', methods=['PUT'])
def update_task(task_id):
    task = next((task for task in tasks if task["id"] == task_id), None)
    if not task:
        return ('', 404)

    data = request.json
    task.update(data)
    return jsonify(task)

@app.route('/tasks/<int:task_id>', methods=['DELETE'])
def delete_task(task_id):
    global tasks
    tasks = [task for task in tasks if task["id"] != task_id]
    return ('', 204)

if __name__ == '__main__':
    app.run(debug=True)

3. API端点说明

  • 获取任务列表GET /tasks
    返回所有任务的JSON格式列表。

  • 获取单个任务GET /tasks/<task_id>
    根据任务ID返回指定任务的详细信息。如果任务不存在,返回404状态。

  • 创建新任务POST /tasks
    接收JSON格式的请求体,创建新的任务并返回新任务的信息。

  • 更新任务PUT /tasks/<task_id>
    根据任务ID更新任务的信息,接收JSON格式的请求体。

  • 删除任务DELETE /tasks/<task_id>
    根据任务ID删除指定任务,成功后返回204状态。

4. 测试API

可以使用工具如Postman或cURL测试上述API端点。以下是一些示例请求:

  • 获取所有任务:
curl -X GET http://127.0.0.1:5000/tasks
  • 创建新任务:
curl -X POST http://127.0.0.1:5000/tasks -H "Content-Type: application/json" -d '{"title": "Read a book", "done": false}'
  • 更新任务:
curl -X PUT http://127.0.0.1:5000/tasks/1 -H "Content-Type: application/json" -d '{"done": true}'
  • 删除任务:
curl -X DELETE http://127.0.0.1:5000/tasks/2

5. 小结

通过本文,我们使用Flask框架构建了一个简单的RESTful API,涵盖了基本的CRUD操作。这一过程展示了Flask的简洁性与强大功能,使得构建API变得高效而简单。

目录
相关文章
|
2月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
2月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
3月前
|
缓存 监控 供应链
唯品会自定义 API 自定义操作深度分析及 Python 实现
唯品会开放平台提供丰富API,支持商品查询、订单管理、促销活动等电商全流程操作。基于OAuth 2.0认证机制,具备安全稳定的特点。通过组合调用基础接口,可实现数据聚合、流程自动化、监控预警及跨平台集成,广泛应用于供应链管理、数据分析和智能采购等领域。结合Python实现方案,可高效完成商品搜索、订单分析、库存监控等功能,提升电商运营效率。
|
2月前
|
人工智能 API 开发工具
构建AI智能体:一、初识AI大模型与API调用
本文介绍大模型基础知识及API调用方法,涵盖阿里云百炼平台密钥申请、DashScope SDK使用、Python调用示例(如文本情感分析、图像文字识别),助力开发者快速上手大模型应用开发。
1089 16
构建AI智能体:一、初识AI大模型与API调用
|
2月前
|
Cloud Native 算法 API
Python API接口实战指南:从入门到精通
🌟蒋星熠Jaxonic,技术宇宙的星际旅人。深耕API开发,以Python为舟,探索RESTful、GraphQL等接口奥秘。擅长requests、aiohttp实战,专注性能优化与架构设计,用代码连接万物,谱写极客诗篇。
Python API接口实战指南:从入门到精通
|
3月前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
3月前
|
安全 Java API
使用 Java 构建强大的 REST API 的四个基本技巧
本文结合探险领域案例,分享Java构建REST API的四大核心策略:统一资源命名、版本控制与自动化文档、安全防护及标准化异常处理,助力开发者打造易用、可维护、安全可靠的稳健API服务。
215 2
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
300 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
322 104
|
3月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
265 103

推荐镜像

更多