如何实现从一个软件与另一个软件的通信交互?就像我们的APP,如何实现微信支付、苹果支付?
其实,我们只需要一个API。
API(应用程序编程接口)是一个简单的接口,它定义了可以发出的请求类型(需求/问题等)、请求的发出方式以及处理方式。
在本文中,我们将构建一个API,它允许我们向不同的端点发送一系列GET/POST/PUT/PATCH/DELETE等各种请求,并返回或修改与API连接的数据。
我们将使用Flask框架来创建我们的API,并使用Postman来对其进行测试它。本文将涵盖以下内容:
1.设置数据集
初始化Flask API
端点
运行本地服务器
2.编写APIGET
POST
401未经授权
PUT
DELETE
用户类(摘要)
3.总结
设置
我们的API将包含两个端点:用户和位置。 前者将允许访问我们注册用户的详细信息,而后者将包括咖啡馆位置列表。
此处假设的用例是数百万个咖啡馆的书签应用程序,用户可以在其中打开该应用程序并为自己喜欢的咖啡馆添加书签,例如谷歌地图。
1.数据集
为了简单起见,我们将把这些数据存储在两个本地CSV文件中。
CSV文件如下所示:用户数据位置数据
2.初始化Flask API
对于Python脚本,我们需要导入模块并初始化API,如下所示:
from flask import Flask
from flask_restful import Resource, Api, reqparse
import pandas as pd
import ast
app = Flask(__name__)
api = Api(app)
3.端点
正如上文提到的,我们的API有两个端点:用户和位置。
为了创建端点,我们需要定义一个Python类,然后使用api.add_resource将其连接到所需的端点,如下所示:
class Users(Resource):
# 方法在这里
pass
api.add_resource(Users, '/users') # /users'是我们的切入点Flask需要知道类是我们API的端点,因此我们将Resource与类定义一起传入。
在类内部,包含了我们的HTTP方法(GET,POST,DELETE等)。
最后,我们使用api.add_resource将Users类与/ users端点链接。
因为我们需要两个端点,所以我们复制了逻辑:
class Users(Resource):
#方法
pass
class Locations(Resource):
#方法
pass
api.add_resource(Users, '/users') #