用python写一个接口

devtools/2024/12/28 17:10:08/

在Python中,创建一个接口(API)通常涉及使用Web框架,如Flask、Django或FastAPI。这些框架使得创建和管理API端点变得简单且高效。以下是使用Flask创建简单RESTful API的示例。

使用Flask创建简单API

‌1、安装Flask

首先,你需要安装Flask。你可以使用pip来安装:

python">pip install Flask

2‌、创建一个Flask应用

创建一个新的Python文件(例如app.py),并添加以下代码:

python">from flask import Flask, jsonify, requestapp = Flask(__name__)# 定义一个简单的GET请求接口
@app.route('/hello', methods=['GET'])
def hello():return jsonify(message="Hello, World!")# 定义一个带参数的GET请求接口
@app.route('/greet/<name>', methods=['GET'])
def greet(name):return jsonify(message=f"Hello, {name}!")# 定义一个POST请求接口
@app.route('/add', methods=['POST'])
def add():data = request.get_json()num1 = data.get('num1')num2 = data.get('num2')if num1 is None or num2 is None:return jsonify({"error": "Invalid input"}), 400result = num1 + num2return jsonify(result=result)if __name__ == '__main__':app.run(debug=True)

 3、‌运行Flask应用

在终端中导航到包含app.py文件的目录,然后运行:

python">python app.py

 默认情况下,Flask应用将在http://127.0.0.1:5000/上运行。

 

‌4、测试API

GET请求‌:

打开浏览器或使用工具(如curl或Postman)访问http://127.0.0.1:5000/hello,你应该会看到以下响应:

python">{"message": "Hello, World!"
}

访问http://127.0.0.1:5000/greet/John,你应该会看到以下响应:

python">{"message": "Hello, John!"
}

 ‌POST请求‌:

使用curl或Postman发送POST请求到http://127.0.0.1:5000/add,并在请求体中发送JSON数据:

python">{"num1": 5,"num2": 7
}

你应该会看到以下响应:

python">{"result": 12
}

总结

上述示例展示了如何使用Flask快速创建一个简单的RESTful API。Flask易于上手且扩展性强,适合构建小型到中型的Web应用。对于更复杂的应用,你可能需要考虑使用Django或FastAPI,它们提供了更多的功能和更好的性能。


http://www.ppmy.cn/devtools/144027.html

相关文章

PHP:构建动态网站的后端基石

在当今的Web开发领域&#xff0c;PHP&#xff08;Hypertext Preprocessor&#xff0c;超文本预处理器&#xff09;依然是一种极具影响力和广泛使用的服务器端脚本语言。自1995年由Rasmus Lerdorf首次发布以来&#xff0c;PHP凭借其灵活性、跨平台兼容性和丰富的功能库&#xff…

Flink执行模式(批和流)如何选择

DataStream API支持不同的运行时执行模式(batch/streaming),你可以根据自己的需求选择对应模式。 DataStream API的默认执行模式就是streaming,用于需要连续增量处理并且预计会一直保持在线的无界(数据源输入是无限的)作业。 而batch执行模式则用于有界(输入有限)作业…

【ETCD】【Linearizable Read OR Serializable Read】ETCD 数据读取:强一致性 vs 高性能,选择最适合的读取模式

ETCD 提供了两种不同类型的读取操作方式&#xff0c;分别是 Linearizable Read&#xff08;线性化读取&#xff09;和 Serializable Read&#xff08;可串行化读取&#xff09;。这两种方式主要区分在读取数据时对一致性的要求不同。 目录 1. Linearizable Read&#xff08;线…

《全面解析 QT 各版本:特性、应用与选择策略》

《全面解析 QT 各版本&#xff1a;特性、应用与选择策略》 一、QT 简介与发展历程二、QT 4 版本&#xff1a;经典之作&#xff08;一&#xff09;稳定耐用的 4.8.7&#xff08;二&#xff09;4.x 系列的终结与遗产 三、QT 5 版本&#xff1a;广泛应用的系列&#xff08;一&…

如何锻炼工作中快速学习的能力?

锻炼快速学习能力需要结合认知训练、习惯培养和实际应用。以下是一些有效的方法&#xff1a; 提升注意力与专注力 • 专注练习&#xff1a;每天安排20分钟专注完成一项任务&#xff0c;避免分心。使用番茄工作法&#xff08;25分钟工作5分钟休息&#xff09;。 • 冥想训练&…

Antd react上传图片格式限制

限制分辨率&#xff08;像素&#xff09; <a-upload :before-upload"beforeUpload">// 上传图片宽高比例限制const beforeUpload file > {return new Promise((resolve, reject) > {// // 图片类型限制// let isJpgOrPng file.type image/png || fil…

爬虫抓取的数据如何有效存储和管理?

在现代数据驱动的世界中&#xff0c;爬虫技术已成为获取网络数据的重要手段。然而&#xff0c;如何有效地存储和管理这些数据是一个关键问题。本文将详细介绍几种有效的数据存储和管理方法&#xff0c;并提供相应的Java代码示例。 1. 数据存储方式 1.1 文件存储 文件存储是最…

Electron-Vue 开发下 dev/prod/webpack server各种路径设置汇总

背景 在实际开发中&#xff0c;我发现团队对于这几个路径的设置上是纯靠猜的&#xff0c;通过一点点地尝试来找到可行的路径&#xff0c;这是不应该的&#xff0c;我们应该很清晰地了解这几个概念&#xff0c;以下通过截图和代码进行细节讲解。 npm run dev 下的路径如何处理&…