gpt4 book ai didi

python - 如何在 Flask-restful 中返回错误消息?

转载 作者:行者123 更新时间:2023-12-03 16:02:33 25 4
gpt4 key购买 nike

我在 Post 方法上添加了一个检查,只允许不同日期的约会通过,但我不知道如何返回错误消息。这是代码

from flask_restful import Resource, Api, request
from package.model import conn


class Appointments(Resource):

def get(self):
appointment = conn.execute("SELECT p.*,d.*,a.* from appointment a LEFT JOIN patient p ON a.pat_id = p.pat_id LEFT JOIN doctor d ON a.doc_id = d.doc_id ORDER BY appointment_date DESC").fetchall()
return appointment

def post(self):
appointment = request.get_json(force=True)
pat_id = appointment['pat_id']
doc_id = appointment['doc_id']
appointment_date = appointment['appointment_date']

a = conn.execute("SELECT count(*) From appointment WHERE doc_id =?
AND appointment_date=?",(doc_id,appointment_date,)).fetchone()
if a['count(*)'] == 0:
appointment['app_id'] = conn.execute('''INSERT INTO appointment(pat_id,doc_id,appointment_date)VALUES(?,?,?)''', (pat_id, doc_id,appointment_date)).lastrowid
conn.commit()
return appointment
else:
pass

我返回什么而不是 pass 语句?

PS:对于上下文,我正在努力改进 https://github.com/tushariscoolster/HospitalManagementSystem

最佳答案

Flask-Restful 提供了一个abort 函数,它可以抛出一个带有特殊 HTTP 代码的 HTTPException 并将消息返回给客户端。

因此,您可以尝试更改如下代码:

from flask_restful import abort

class Appointments(Resource):
def post(self):
# ignore some code
if a['count(*)'] == 0:
# ignore some code
else:
abort(403, error_message='just accept an appointment on special date')

然后,客户端将收到 403 和一个有效的 JSON 字符串,如下所示:

{"error_message":"just accept an appointment on special date"}

最后,客户端应妥善处理错误信息。

关于python - 如何在 Flask-restful 中返回错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44600868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com