如何用Flask构建API

简介: 这篇文章介绍了如何使用Python的轻量级框架Flask构建自己的API。通过简单步骤,你将学会创建响应请求的基础API、返回JSON格式数据,并实现动态路由处理用户输入。从“Hello, World!”示例到返回水果信息列表,再到根据具体水果名称提供详细信息,逐步深入理解API的工作原理。最后,通过动态路由增强API灵活性。适合初学者快速上手,开启API开发之旅!

你有没有想过你最喜欢的应用是如何互相通信的?点击手机上的按钮是如何立刻连接到一个信息的世界的?背后的魔力就是我们称之为API的东西,它代表着应用程序编程接口。它就像一个信使,接受请求,告诉系统你想要什么,然后带回响应。听起来很酷,对吧?

今天,我们将学习如何使用Flask构建你自己的API,Flask是一个非常简单且轻量的Python Web框架。别担心,如果你觉得听起来有些复杂——我们会一步一步地以有趣且简单的方式来拆解。

第1步:准备工作

在我们开始之前,你需要在VS code中安装以下工具:

  • 安装Python(如果你还没有安装,可以从Python官网获取!)。
  • 安装Flask库(在终端或命令提示符中输入 pip install flask 安装)。

就这些!我们准备好开始了。

第2步:什么是Flask?

Flask就像是一个小型工具箱,用于构建Web应用和API。它不像其他框架那样庞大笨重,但非常适合简单的项目,而且容易上手!可以把它想象成一个小餐馆的厨房,在那里你可以快速做出美味的菜肴。🧑‍🍳

第3步:设置一个简单的API

让我们来构建一个可以接收请求并返回响应的API。以下是基本结构:

打开你喜欢的代码编辑器(VS Code、Sublime,或者你如果很勇敢,也可以使用记事本)。
创建一个新文件并命名为 app.py。
以下是你需要的代码:

from flask import Flask, jsonify

app = Flask(__name__)

# 创建一个简单的API端点
@app.route('/hello', methods=['GET'])
def hello_world():
    return jsonify({"message": "Hello, World!"})

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

让我们分解一下这个代码:

  • 导入Flask和jsonify: 我们需要Flask来构建Web应用,而jsonify用于将数据以JSON格式返回(这是一种计算机喜欢用来交流的格式)。
  • @app.route(‘/hello’, methods=[‘GET’]): 这里我们告诉Flask我们希望响应的URL是哪里(在本例中是/hello)。当有人访问这个URL时,他们会收到来自我们API的消息。
  • return jsonify({"message": "Hello, World!"}): 这将以JSON格式发送一个响应,内容是“Hello, World!”这样其他系统也能理解。

第4步:运行你的API

要运行这个API,打开终端,导航到你保存 app.py 文件的位置,然后输入:

python app.py

Boom!你的第一个API就在本地机器上运行了。打开浏览器,访问 http://127.0.0.1:5000/hello,你会看到魔法发生。🎉 你将看到类似这样的信息: {"message": "Hello, World!"}

第5步:让你的API做更多事情

假设你想让你的API返回一组水果列表。你可以这样做:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/fruits', methods=['GET'])
def get_fruits():
    fruits = ['apple', 'banana', 'cherry', 'date', 'elderberry']
    return jsonify(fruits)

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

现在,如果你访问 http://127.0.0.1:5000/fruits,你将得到一个JSON格式的水果列表。很简单,对吧?

第6步:处理用户请求(动态路由)

让我们进一步提升!如果你想创建一个API,根据用户输入提供特定的信息呢?例如,如果有人想要了解某种水果的详细信息,我们可以使用动态路由来实现这一点。

具体方法如下:

from flask import Flask, jsonify

app = Flask(__name__)

fruits_info = {
    'apple': 'A sweet red fruit.',
    'banana': 'A long yellow fruit.',
    'cherry': 'A small red fruit.'
}

@app.route('/fruits/<fruit_name>', methods=['GET'])
def get_fruit_info(fruit_name):
    info = fruits_info.get(fruit_name, "Fruit not found!")
    return jsonify({"fruit": fruit_name, "info": info})

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

现在,如果你访问 http://127.0.0.1:5000/fruits/apple,你将看到“这是一个甜美的红色水果。如果你请求的水果不在列表中,它会告诉你,水果未找到!”

第7步:总结与下一步

恭喜你!🎉 你已经用Flask构建了你的第一个API。现在你知道如何:

  • 使用Flask设置一个基本的API。
  • 以JSON格式返回数据。
  • 使用动态路由使API更加灵活。

现在,你已经成功地用Flask构建并本地测试了第一个API,接下来要确保在处理真实世界的场景和外部客户端时,一切都能正常工作。

编码快乐!

相关文章
|
8天前
|
缓存 安全 API
API 接口开发与合理利用:构建高效、安全、可维护的数字桥梁
本文全面解析API接口的设计、优化与安全维护。API作为系统间交互的标准化契约,核心价值在于解耦系统、提升复用性和构建开放生态。设计时需遵循六大原则:明确输入输出、关注单一职责、实现自我表达、确保功能无重叠、保障幂等性及合理版本化。性能优化从批量处理、异步调用、并行执行等方面入手,同时结合缓存、池化技术和SQL优化提升效率。安全性涵盖加密传输、加签验签、Token认证、防重放攻击及限流熔断等十大要点。最后,通过文档自动生成、日志体系和版本管理确保接口可持续迭代。优秀的API应以契约优先、演进思维和防御心态为核心,成为系统的数字资产,支持内外部高效协作与生态建设。
|
7天前
|
前端开发 JavaScript NoSQL
使用 Node.js、Express 和 React 构建强大的 API
本文详细介绍如何使用 Node.js、Express 和 React 构建强大且动态的 API。从开发环境搭建到集成 React 前端,再到利用 APIPost 高效测试 API,适合各水平开发者。内容涵盖 Node.js 运行时、Express 框架与 React 库的基础知识及协同工作方式,还涉及数据库连接和前后端数据交互。通过实际代码示例,助你快速上手并优化应用性能。
|
26天前
|
人工智能 缓存 自然语言处理
构建智能天气助手:基于大模型API与工具函数的调用实践
在人工智能快速发展的今天,大语言模型(LLM)已经成为构建智能应用的重要基础设施。本文将介绍如何利用大模型API和工具函数集成,构建一个能够理解自然语言并提供精准天气信息的智能助手。
91 11
|
27天前
|
人工智能 JavaScript 测试技术
构建智能 API 开发环境:在 Cursor 中连接 Apifox MCP Server
本文介绍了如何将Apifox MCP Server与Cursor结合,通过AI直接获取和理解API文档,大幅提升开发效率。首先需配置Apifox的Access Token和项目ID,并在Cursor中设置MCP连接。实际应用场景包括快速生成模型代码、同步更新接口文档与代码、生成CRUD操作、搜索API文档及自动生成测试用例。此外,还提供了管理多项目、安全性实践和优化AI响应质量的技巧。这种组合可显著减少从API规范到代码实现的时间,降低错误率并加速迭代过程,为开发者带来更高效的体验。
|
1月前
|
机器学习/深度学习 设计模式 API
Python 高级编程与实战:构建 RESTful API
本文深入探讨了使用 Python 构建 RESTful API 的方法,涵盖 Flask、Django REST Framework 和 FastAPI 三个主流框架。通过实战项目示例,详细讲解了如何处理 GET、POST 请求,并返回相应数据。学习这些技术将帮助你掌握构建高效、可靠的 Web API。
|
2月前
|
人工智能 自然语言处理 API
解锁 DeepSeek API 接口:构建智能应用的技术密钥
在数字化时代,智能应用蓬勃发展,DeepSeek API 作为关键技术之一,提供了强大的自然语言处理能力。本文详细介绍 DeepSeek API,并通过 Python 请求示例帮助开发者快速上手。DeepSeek API 支持文本生成、问答系统、情感分析和文本分类等功能,具备高度灵活性和可扩展性,适用于多种场景。示例展示了如何使用 Python 调用 API 生成关于“人工智能在医疗领域的应用”的短文。供稿者:Taobaoapi2014。
|
5月前
|
JSON 缓存 JavaScript
深入浅出:使用Node.js构建RESTful API
在这个数字时代,API已成为软件开发的基石之一。本文旨在引导初学者通过Node.js和Express框架快速搭建一个功能完备的RESTful API。我们将从零开始,逐步深入,不仅涉及代码编写,还包括设计原则、最佳实践及调试技巧。无论你是初探后端开发,还是希望扩展你的技术栈,这篇文章都将是你的理想指南。
|
4月前
|
安全 API 数据安全/隐私保护
自学记录HarmonyOS Next DRM API 13:构建安全的数字内容保护系统
在完成HarmonyOS Camera API开发后,我深入研究了数字版权管理(DRM)技术。最新DRM API 13提供了强大的工具,用于保护数字内容的安全传输和使用。通过学习该API的核心功能,如获取许可证、解密内容和管理权限,我实现了一个简单的数字视频保护系统。该系统包括初始化DRM模块、获取许可证、解密视频并播放。此外,我还配置了开发环境并实现了界面布局。未来,随着数字版权保护需求的增加,DRM技术将更加重要。如果你对这一领域感兴趣,欢迎一起探索和进步。
127 18
|
4月前
|
JSON JavaScript 前端开发
深入浅出Node.js:从零开始构建RESTful API
在数字化时代的浪潮中,后端开发作为连接用户与数据的桥梁,扮演着至关重要的角色。本文将引导您步入Node.js的奇妙世界,通过实践操作,掌握如何使用这一强大的JavaScript运行时环境构建高效、可扩展的RESTful API。我们将一同探索Express框架的使用,学习如何设计API端点,处理数据请求,并实现身份验证机制,最终部署我们的成果到云服务器上。无论您是初学者还是有一定基础的开发者,这篇文章都将为您打开一扇通往后端开发深层知识的大门。
99 12
|
5月前
|
监控 安全 API
深入浅出:构建高效RESTful API的最佳实践
在数字化时代,API已成为连接不同软件和服务的桥梁。本文将带你深入了解如何设计和维护一个高效、可扩展且安全的RESTful API。我们将从基础概念出发,逐步深入到高级技巧,让你能够掌握创建优质API的关键要素。无论你是初学者还是有经验的开发者,这篇文章都将为你提供实用的指导和启示。让我们一起探索API设计的奥秘,打造出色的后端服务吧!

热门文章

最新文章