用了五年flask,居然比不过用了五分钟的“它”!

文章对比了Flask和FastApi在开发HTTP接口时的体验,指出尽管Flask代码简洁,但在处理异常数据时需要额外编写判断逻辑。而FastApi则通过类型标注自动完成数据验证,大大简化了接口开发,并且能自动生成接口文档,同时具备高性能。作者在尝试FastApi后,决定转向使用它作为主要Web框架。
摘要由CSDN通过智能技术生成

有一个非常简单的需求:编写一个 HTTP接口,使用 POST 方式发送一个 JSON 字符串,接口里面读取发送上来的参数,对其中某个参数进行处理,并返回。

如果我们使用 Flask 来开发这个接口,那么代码是这样的:

from flask import Flask, request

app = Flask(__name__)


@app.route('/insert', methods=['POST'])
def insert():
    info = request.json
    name = info['name']
    age = info['age']
    age_after_10_years = age + 10
    msg = f'此人名叫:{name},10年后,此人年龄:{age_after_10_years}'
    return {'success': True, 'msg': msg}

代码看起来已经很简洁了。我们用requests发个请求看看效果,如下图所示:

 

看起来没什么问题。

现在,我搞点破坏,把age字段改成字符串,再运行一下:

 

 

 

不出所料,报错了。

现在我们把age字段改回数字,但是直接移除name字段:

 

 

 

又报错了。

为了防止用户不按规矩提交数据,我们必需在接口里面做好各种异常数据的判断。于是增加判断以后的代码变得复杂了:

@app.route('/insert', methods=['POST'])
def insert():
    info = request.json
    name = info.get('name', '')
    if not name:
        return {'success': False, 'msg': &#
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值