python restful接口返回类型出错_使用Python和Flask返回API错误消息

我正在使用Python和Flask设计RESTful API。 如预期的那样,如果一切顺利,则API需要接收API请求并返回数据,但是在发生错误的情况下,它需要轻柔地失败并返回正确的错误。 我通常会在发生错误时引发异常,但是在这种情况下,我需要将错误消息返回给用户(try-catch块?)。

我目前处理错误的方法是让函数返回数据和错误,并在每个级别检查数据,最后将数据或错误返回给API函数的调用者。

问题在于,当存在多个级别的函数调用时,它会变得很麻烦,要求我的函数多次传递数据和错误,并每次执行检查。

有一个更好的方法吗? 我可以做些什么改进以使错误传播更加简单和优雅?

这是我目前返回错误的方式的示例:

def get_data()

data1, error = get_some_data() # function not shown

if data1 is None:

return None, "could not retrieve data1"

data2, error = get_some_other_data() # function not shown

if data2 is None:

return None, "could not retrieve data2"

return (data1, data2), None

@app.route("/api/method", methods=['GET'])

def method():

data, error = get_data()

if data is None:

if error is None:

error = "unknown error"

return json.dumps({ "error": error }), 500

return json.dumps({ "data": data }), 200

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值