您的位置 首页 > 德语词汇

parameters是什么意思,parameters的意思翻译、用法、同义?FastAPI开源框架开发实践

其实parameters是什么意思,parameters的意思翻译、用法、同义的问题并不复杂,但是又很多的朋友都不太了解FastAPI开源框架开发实践,因此呢,今天小编就来为大家分享parameters是什么意思,parameters的意思翻译、用法、同义的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

1、接下来几篇文章将介绍FastAPI如何管理传入的请求体和传出的响应,并提供对应的示例代码。

parameters是什么意思,parameters的意思翻译、用法、同义?FastAPI开源框架开发实践

2、客户端可以通过路径参数(pathparameters)、查询参数(queryparameters)或头部(headers)将请求数据传递给FastAPI端点URL,以执行服务中的代码逻辑。根据API服务的逻辑,我们使用这些参数来影响和构建客户端需要的必要响应。

3、FastAPI允许通过路径参数或路径变量从API的端点URL获取请求数据,这使得URL具有一定的动态性。

4、此参数包含一个值,该值成为由花括号{}表示的URL的一部分。在URL中设置这些路径参数后,FastAPI要求通过应用类型提示声明这些参数。

5、例如下面的delete_user()服务使用用户名(username)路径参数,通过该参数搜索要删除的用户记录。

6、@app.delete("/ch01/login/remove/{username}")\ndefdelete_user(username:str):\nifusernameisNone:\nreturn{"message":"无效用户"}\nelse:\ndelvalid_users[username]\nreturn{"message":"用户已删除"}

所有请求参数都必须在应用PEP484标准的服务方法的方法签名中声明类型,称为类型提示。FastAPI支持常见的类型,如None、bool、int和float,以及容器类型,如list、tuple、dict、set、frozenset和deque。还支持其他复杂的Python类型,如datetime.date、datetime.time、datetime.datetime、datetime.delta、UUID、bytes和Decimal。

7、该框架还支持Python类型模块(typingmodule)中包含的数据类型,负责类型提示。这些数据类型是Python的标准表示法,是变量类型注释,有助于在编译期间进行类型检查和模型验证,例如Optional、List、Dict、Set、Union、Tuple、FrozenSet、Iterable和Deque。

8、如果最左侧的变量比最右侧的变量更有可能填充值,则可以接受多个路径参数(multiplepathparameters)。换句话说,最左侧路径变量比右侧的更重要。此标准用于确保端点URL不会看起来像其他URL,这可能导致一些冲突和混淆。以下login_with_token()服务遵循此标准,因为用户名是主键,比下一个参数password更重要。

9、@app.get("/ch01/login/{username}/{password}")\ndeflogin_with_token(username:str,password:str,id:UUID):\nifvalid_users.get(username)isNone:\nreturn{"message":"用户不存在"}\nelse:\nuser=valid_users[username]\nifuser.id==idandcheckpw(password.encode(),user.passphrase.encode()):\nreturnuser\nelse:\nreturn{"message":"无效用户"}

当上述动态URL模式和一个固定URL匹配时,并且固定URL的服务在动态URL之后实现,会出现问题。如下是一段示例代码:

10、@app.get("/ch01/login/details/info")\ndeflogin_info():\nreturn{"message":"usernameandpasswordareneeded"}

当访问URL:localhost:8000/ch01/login/details/info时,会返回HTTP状态码422(UnprocessableEntity)。

11、在这种情况下,固定路径的details和info路径目录被分别作为用户名和密码参数值处理。由于混淆,FastAPI的内置数据验证将向我们显示一个JSON格式的错误消息,"msg"为“fieldrequired”,“type”为“value_error.missing”。

12、为了解决这个问题,所有固定路径都应该在带有路径参数的动态端点URL之前声明。因此,前面的login_info()服务应该在login_with_token()之前声明。

13、#冬日生活打卡季#\u0002#记录我的2024#\u0002

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023