何为路径参数
顾名思义,路径参数就是 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 的结果
网络异常,图片无法展示
|
成功!
路径参数和查询参数的区别
路径参数是归属 url
的部分,而查询参数是在 url
后面使用?
进行连接的参数。通常我们会将某个模块数据结构主键部分使用路径参数表达,而对于这个对象的附加信息我们通常使用查询参数表达。
顾名思义,路径参数指导我们拿到对象概要信息,而查询参数能够帮助我们查询到对象的更多信息。
关于更多查询参数的内容,我们下节内容继续分享。
感谢您的阅读,别忘了关注,点赞,评论,转发四连哟!