我正在尝试使用Python Flask和SQLite创建API。我目前已经实现了一个post方法,其中我将curl命令中的每个数据参数设置为一个不同的变量。但是,对于put方法,我可能只想更新几个字段。我该如何实现?作为参考,这是我到目前为止:
from flask import Flask, request
from flask_restful import Resource, Api
from sqlalchemy import create_engine
from json import dumps
from flask_jsonpify import jsonify
db = create_engine('sqlite:///employees.db')
app = Flask(__name__)
api = Api(app)
conn = db.connect()
class EmployeeID(Resource):
def get(self, employeeid):
query = conn.execute("SELECT * FROM employees WHERE EmployeeId =%d " %int(employeeid))
result = {'data': [dict(zip(tuple (query.keys()) ,i)) for i in query.cursor]}
return jsonify(result)
def delete(self, employeeid):
conn.execute("DELETE FROM employees WHERE EmployeeId = %d " %int(employeeid))
return "Employee Deleted"
def put(self, employeeid):
#Trying to figure out how to do this
query = conn.execute("SELECT * FROM employees WHERE EmployeeId =%d " %int(employeeid))
return "Employee Updated"
api.add_resource(EmployeeID, '/employees/<employeeid>')
例如:
curl -X PUT -H "Content-Type: application/json" -d '{"key1":"value", "key2":"value2"}' "MY_URL"
我想只更新key1和key2。如何在不触及其余部分的情况下专门访问员工的这两个键?请记住,它不会始终是key1和key2。谢谢你的帮助!