FastApi-02-路径参数

简介: FastApi-02-路径参数

何为路径参数


顾名思义,路径参数就是 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 后面使用?进行连接的参数。通常我们会将某个模块数据结构主键部分使用路径参数表达,而对于这个对象的附加信息我们通常使用查询参数表达。


顾名思义,路径参数指导我们拿到对象概要信息,而查询参数能够帮助我们查询到对象的更多信息。


关于更多查询参数的内容,我们下节内容继续分享。


感谢您的阅读,别忘了关注,点赞,评论,转发四连哟!

相关文章
|
数据采集 JSON JavaScript
全面拥抱FastApi —三大参数及验证
全面拥抱FastApi —三大参数及验证
|
3月前
|
开发框架 JSON API
Python中FastAPI项目使用 Annotated的参数设计
Python中FastAPI项目使用 Annotated的参数设计
|
6月前
|
Python
Fastapi进阶用法,路径参数,路由分发,查询参数等详解
Fastapi进阶用法,路径参数,路由分发,查询参数等详解
324 1
|
网络安全 Windows
基于fastapi实现6个接口(token拦截, 2个业务流程,接口参数依赖校验)已经通过postman测试,记录部署服务器和windows,用于pytest接口自动化框架的接口测试对象
基于fastapi实现6个接口(token拦截, 2个业务流程,接口参数依赖校验)已经通过postman测试,记录部署服务器和windows,用于pytest接口自动化框架的接口测试对象
|
前端开发 中间件 API
FastAPI第二天---参数校验
FastAPI第二天---参数校验
228 0
FastAPI第二天---参数校验
|
Python
FastApi-07-查询参数校验
FastApi-07-查询参数校验
247 0
|
NoSQL 测试技术 Redis
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
|
存储 测试技术 数据安全/隐私保护
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试