Nic*_*Nic 6 python api rest flask
我目前使用flask、sqlalchemy 和jinja2 构建一个Web 应用程序。
为了获得合适的 Web 界面,我按如下方式构建视图:
@app.route('/mydata/', methods=['GET'])
@login_required
def mydata_list():
# build data here...
return render_template('mydata/index.html', data=data))
Run Code Online (Sandbox Code Playgroud)
现在,如果我需要构建一个 REST API,我应该以
return jsonify(data)
Run Code Online (Sandbox Code Playgroud)
那么,如何处理这个以避免代码重复呢??api=True在我的 url 中添加一个,在我的视图中测试它,然后返回适当的答案是一个好习惯吗?
确实没有正确或错误的方法来做到这一点,Flask 更是如此,这是一个对开发人员施加很少规则的框架。
如果你想听听我的意见,我认为对网站和 API 使用相同的视图函数集会导致代码更难维护,因为两者之间存在一些显着差异,例如:
DELETE请求。在Web浏览器中运行的Web应用程序需要做的一切GET,并POST请求。此外,POST请求方法在 API 和 Web 应用程序中具有不同的用途。我的建议是,让 API 和 Web 应用程序的视图函数非常精简,并将应用程序的业务逻辑放在两组视图函数都可以调用的公共类中。
| 归档时间: |
|
| 查看次数: |
3083 次 |
| 最近记录: |