Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python FastAPI资源扩展_Python_Rest_Fastapi_Pydantic - Fatal编程技术网

Python FastAPI资源扩展

Python FastAPI资源扩展,python,rest,fastapi,pydantic,Python,Rest,Fastapi,Pydantic,RESTAPI中的资源扩展允许调用方指定应该扩展的子实体 比如说, GET/user/5=> 用户可以通过添加扩展查询参数来请求对团队进行内联扩展:GET/user/5?expand=team=>{“name”:“John”,“team_id”:10,“team”:{“name”:“some team”} 野外的一个例子是: 您将如何在FastAPI中实现这一点? 问题在于FastAPI以一个固定的pydantic响应模型为中心,而在这里,响应模型可能会根据expand查询参数发生显著变化

RESTAPI中的资源扩展允许调用方指定应该扩展的子实体

比如说,

  • GET/user/5
    =>
  • 用户可以通过添加扩展查询参数来请求对团队进行内联扩展:
    GET/user/5?expand=team
    =>
    {“name”:“John”,“team_id”:10,“team”:{“name”:“some team”}
野外的一个例子是:

您将如何在FastAPI中实现这一点? 问题在于FastAPI以一个固定的pydantic响应模型为中心,而在这里,响应模型可能会根据expand查询参数发生显著变化


将子实体键入为
Optional
是最好的选择吗?

这应该可以通过使用来实现,例如,
Optional
是足够的,因为响应中的
team
元素实际上是可选的,使用
Optional
似乎可以准确地表达其用法。您还可以进一步记录该参数,以提供有关何时填充该参数的信息。