python – 使用FLASK将REST API与Web界面相结合的最佳实践
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 使用FLASK将REST API与Web界面相结合的最佳实践,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1112字,纯文字阅读大概需要2分钟。
内容图文
我目前使用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))
现在,如果我需要构建一个REST API,我应该终止
return jsonify(data)
那么,如何处理这个以避免代码重复?将?api = True添加到我的网址,在我的视图中测试它,然后返回适当的答案是一个好习惯吗?
解决方法:
实际上没有正确或错误的方法,对于Flask来说更是如此,这是一个对开发人员施加如此少的规则的框架.
如果您需要我的意见,我认为对网站和API使用相同的视图函数集会导致难以维护的代码,因为两者之间存在一些显着差异,例如:
>身份验证:这通常以非常不同的方式针对Web与API进行.
>内容:对于API,您只需返回数据,但对于网页,视图功能可能需要执行更多工作并获取仅用于呈现模板所需的额外数据.
>请求方法:API使用比Web应用程序更多的HTTP请求方法.例如,要通过API删除资源,客户端通常会发送DELETE请求.在Web浏览器上运行的Web应用程序需要使用GET和POST请求执行所有操作.此外,POST请求方法在API与Web应用程序中具有不同的用法.
我的建议是,使API和Web应用程序的查看功能非常薄,并将应用程序的业务逻辑放在两组视图函数都可以调用的公共类中.
内容总结
以上是互联网集市为您收集整理的python – 使用FLASK将REST API与Web界面相结合的最佳实践全部内容,希望文章能够帮你解决python – 使用FLASK将REST API与Web界面相结合的最佳实践所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。