flask发送json给html,Python Flask – json和html 404错误

我正在家里制作一个在树莓派上运行的小型网络界面.它托管一些REST api以及一些网页.

我正在使用Flask,并为索引提供了一个路由’/’,以及一些用于REST api’/api/v1.0/tasks’的路由.

@app.route('/')

def index():

return render_template('index.html')

@app.route('/gnodes/api/v1.0/tasks', methods=['GET'])

def get_tasks():

return jsonify({'tasks': tasks})

@app.route('/gnodes/api/v1.0/tasks/', methods=['GET'])

def get_task(task_id):

task = [task for task in tasks if task['id'] == task_id]

if not task:

abort(404)

return jsonify({'task': task[0]})

但是,abort(404)返回一个html错误页面,这对普通页面很好,但我想在请求不存在的任务时返回一个json.

所以我重写了错误处理程序:

@app.errorhandler(404)

def not_found(error):

return make_response(jsonify({'error': 'Not found'}), 404)

但是,现在所有错误都返回json,而不是仅返回api错误.

所以我的问题是,如何向API发出失败请求返回json错误,但其他错误是默认的html错误页面?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值