FastApi-02-路径参数

梦想的初衷 提交于 2021-02-04 17:58:57

何为路径参数

顾名思义,路径参数就是 url 中带的请求参数,比如根据 id 查询信息。

例:自动大写首字母

main.py

...
@app.get('/format/{name}')
async def fmt(name):
    new_name = name.title()
    return {'result':new_name}
...

启动服务后测试

访问:http://127.0.0.1:8765/format/phyger

可以看到,功能已经实现!

存在的问题

访问:http://127.0.0.1:8765/format/123

虽然有结果返回,但是我们期望后台能够对请求参数的格式进行校验。请继续往下看。

默认的路径参数类型都是 str,所以 123 已经被转换成了 str 类型。

带格式的路径参数

当我们在处理数字的时候,我们不希望后台对非法类型的数据进行处理。

老代码

...
@app.get('/format1/{num}')
async def fmt1(num):
    print(type(num))
    new_num = num+1
    return {'result':new_num}
...

路径参数为 123 的结果

Internal Server Error,因为后台将 123 当做 str 处理了,所以在进行计算的时候出错了。

新代码

@app.get('/format1/{num}')
async def fmt1(num:int):
    print(type(num))
    new_num = num+1
    return {'result':new_num}

路径参数为 123 的结果

成功!



往期推荐

FastApi-01-初识

关于Mock,看一篇就够了!

Python 中常见的配置文件写法!

100个Python实例,从入门到入土!


点亮在看!

本文分享自微信公众号 - Python测试和开发(fuck_python)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!