
API 安全策略和基础指南
在开始之前,请确保您的开发环境已具备以下工具和依赖:
首先,为项目创建一个新目录,并在其中初始化虚拟环境:
$ mkdir flask-rest-api
$ cd flask-rest-api
$ python3 -m venv venv
$ source venv/bin/activate
安装 Flask 和 Flask-RESTful:
$ pip install Flask Flask-RESTful
app.py
文件在项目目录中创建 app.py
文件,并添加以下代码:
from flask import Flask
from flask_restful import Api, Resource
app = Flask(__name__)
api = Api(app)
class HelloWorld(Resource):
def get(self):
return {"message": "Hello, World!"}
api.add_resource(HelloWorld, "/")
if __name__ == "__main__":
app.run(debug=True)
上述代码创建了一个简单 API,包含一个返回 JSON 消息 {"message": "Hello, World!"}
的端点。
$ python app.py
使用 Postman 或其他 API 测试工具,向 http://localhost:5000/
发送 GET 请求。响应如下:
{
"message": "Hello, World!"
}
更新 app.py
文件,添加内存数据存储和 CRUD 操作:
from flask import Flask, request
from flask_restful import Api, Resource
app = Flask(__name__)
api = Api(app)
data_store = []
class DataResource(Resource):
def get(self, data_id):
for data in data_store:
if data["id"] == data_id:
return data
return {"error": "data not found"}, 404
def post(self, data_id):
data = request.get_json()
data["id"] = data_id
data_store.append(data)
return data, 201
def put(self, data_id):
for data in data_store:
if data["id"] == data_id:
data.update(request.get_json())
return data
return {"error": "data not found"}, 404
def delete(self, data_id):
global data_store
data_store = [data for data in data_store if data["id"] != data_id]
return {"result": "data deleted"}
api.add_resource(DataResource, "/data/ < int:data_id > ")
if __name__ == "__main__":
app.run(debug=True)
注意:路由更新为
/data/ < int:data_id >
,确保每个数据项有唯一 ID。
向 http://localhost:5000/data/1
发送 POST 请求,JSON 示例:
{
"name": "Sample Data",
"value": 123
}
向 http://localhost:5000/data/1
发送 GET 请求。
向 http://localhost:5000/data/1
发送 PUT 请求,带更新后的 JSON 正文。
向 http://localhost:5000/data/1
发送 DELETE 请求。
通过本教程,您已经学习了如何使用 Python 和 Flask 创建一个简单 RESTful API,并实现了 CRUD 操作。
接下来,您可以进一步扩展功能:
原文链接供参考:
原文链接: https://reintech.io/blog/how-to-create-a-restful-api-with-python