我确定我错过了一些明显的东西,但现在它是:
@app.route(PREFIX + '/<table>/<int:index>', methods = ['DELETE'])
def delete_row(table, index=None):
if table not in can_delete:
abort(404)
try:
del database[table][index]
except:
abort(404)
print('returning')
Run Code Online (Sandbox Code Playgroud)
以下是运行它的结果:
* Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
returning
127.0.0.1 - - [13/Feb/2015 11:28:44] "DELETE /api/json/types/ig-folders/1 HTTP/1.1" 500 -
127.0.0.1 - - [13/Feb/2015 11:29:01] "DELETE /api/json/types/ig-folders/99 HTTP/1.1" 404 -
127.0.0.1 - - [13/Feb/2015 11:28:35] "DELETE /api/json/types/invalid/1 HTTP/1.1" 404 -
Run Code Online (Sandbox Code Playgroud)
我的GET处理程序工作正常,DELETE处理程序工作正常,除了讨厌的500错误.问题是我没有回复任何价值观吗?我的印象是DELETE应该只返回一个状态,而不是数据.
删除成功后,您不会返回响应.抛出500,因为None它不是Flask视图的有效返回值.
返回一个可接受的响应类型,如字符串.
对于200响应,您可以返回:
'Success', 200, {'Content-Type': 'text/plain'}
Run Code Online (Sandbox Code Playgroud)
或者你可以返回一个204 No Content,你会为响应主体返回一个空字符串:
'', 204
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
810 次 |
| 最近记录: |