使用Flask和Python开发自己的API

点击下方卡片,关注“小白玩转Python”公众号

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

99371a4de1606b508bfdb09a549dcfff.jpeg

什么是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

结果应该是:

264fab63fc83bde1af756380c9b5ccfe.png

代码解释

首先,你需要导入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请求的结果:

37a18f04d6bb7b8346890e722cc2592e.png

以及POST请求的结果:

a32bc2527003bd3ccf1c354c6ae0dcbb.png

注意:由于服务器在本地运行,服务器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()

结果将是:

847a862513369c065fd90bd65662e6c0.png

·  END  ·

🌟 想要变身计算机视觉小能手?快来「小白玩转Python」公众号!

回复Python视觉实战项目,解锁31个超有趣的视觉项目大礼包!🎁

a0536710ca8af32c70fe200af344bbb3.png

本文仅供学习交流使用,如有侵权请联系作者删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值