使用 Flask 和 Python 开发自己的API

开发
本文章将一步一步教你如何使用Flask和Python从头开始设置自己的API。教程结束时,你将能够从头开始设置你自己的API。

本文章将一步一步教你如何使用Flask和Python从头开始设置自己的API。教程结束时,你将能够从头开始设置你自己的API。我将一步一步指导你,使你能够基于Flask和Python开发你自己的API。

什么是API?

API代表应用程序编程接口。它是你Web应用程序的后端部分,通常在你的服务器上运行。API通常用于服务于你的前端,并且也可以作为第三方集成的接口。API由一系列服务组成,用于获取或推送数据到你的后端服务器。

你需要什么?

首先,你需要安装Python,你按照以下链接中解释的说明进行安装:

https://www.python.org/downloads/?source=post_page-----395a9edd21dc--------------------------------

现在,由于我们将使用Flask,我们必须安装它,但什么是Flask呢?

“Flask是一个用Python编写的微Web框架。它被归类为微框架,因为它不需要特定的工具或库。[2]它没有数据库抽象层、表单验证或任何其他组件,现有的第三方库提供常用功能。然而,Flask支持扩展,可以添加应用程序特性,就好像它们是在Flask本身中实现的一样。扩展存在于对象关系映射器、表单验证、上传处理、各种开放认证技术和几个常见的框架相关工具。[3]”维基百科

要安装Flask,你可以使用pip(Python的包安装程序):

pip install Flask

构建你自己的Flask API

在以下示例中,我们将设置一个API,以捕获HTTP POST和GET,并简单地返回一条消息以查看它是否工作(你需要创建一个Python文件,例如flask_api.py来运行)。

 # Import Flask
from flask import Flask

app = Flask(__name__)

#Define your paths & methods for your API

@app.route('/getapi',methods=['GET'])
def getapi():
    return "GET API test"
    
@app.route('/postapi',methods=['POST'])
def postapi():
    return "POST API test"

#Run the server(by default, the port is 5000)
app.run()

你可以使用这个命令运行应用程序:

python flask_api.py

结果应该是:

代码解释

首先,你需要导入Flask:

# Import Flaskfrom flask import Flask

然后,你必须指定你的API路径,例如对于“127.0.0.1:5000/getapi”:

@app.route('/getapi',methods=['GET'])

对于每个路径,你必须定义一个函数,当请求API路径时将调用该函数。

def getapi():    
    return print"GET API test"

请注意,你可以配置每个路径支持的方法(在这个例子中,我指定了第一个路径支持GET方法,第二个路径支持POST方法)。最后,你必须运行你的应用程序:

#Run the server(by default, the port is 5000)
app.run()

现在我们可以使用这个在线工具测试API:

https://reqbin.com/?source=post_page-----395a9edd21dc--------------------------------

这是GET请求的结果:

以及POST请求的结果:

注意:由于服务器在本地运行,服务器IP是127.0.0.1,5000(默认)是端口。

如果你想返回一个JSON而不是简单的文本,那么你可以添加这段代码:

# Import Flask
from flask import Flask
from flask import jsonify

app = Flask(__name__)

#Define your paths
   
@app.route('/postapijson',methods=['POST'])
def postapi():
    return jsonify({'response': 'JSON response works !'})

#Run the server(by default, the port is 5000)
app.run()

结果将是:

责任编辑:赵宁宁 来源: 小白玩转Python
相关推荐

2015-06-08 14:27:35

谷歌苹果编程语言

2019-01-31 13:43:48

Spring BootStarter开发

2021-04-08 09:35:10

浏览器 Chrome Google

2019-12-23 10:00:52

PythonFlaskPython Web

2024-03-18 18:07:38

VSCode插件文件

2022-11-28 10:22:51

nodeJs开发图床应用

2023-11-16 09:50:56

鸿蒙自适应布局

2013-03-18 16:09:27

JavaEEOpenfire

2023-08-27 15:10:29

Django和Flask框架

2024-03-15 08:00:00

2023-07-21 12:49:15

苹果GPT人工智能

2010-07-07 11:07:51

操作系统

2019-05-15 13:48:17

PythonDjangoFlask

2022-06-21 09:27:01

PythonFlaskREST API

2023-03-27 15:07:27

PythonWeb 开发编程语言

2023-04-19 15:19:23

微软人工智能芯片

2023-10-25 08:00:00

人工智能游戏开发

2023-09-01 08:19:21

Flask

2009-06-24 15:13:36

自定义JSF组件

2020-01-16 11:42:45

PyramidCornicePython Web
点赞
收藏

51CTO技术栈公众号