擅长:python、mysql、java
<p>您应该使用<code>__root__</code>和<code>parse_obj</code></p>
<pre class="lang-py prettyprint-override"><code>from typing import Union
from pydantic import BaseModel
class PlanetItem(BaseModel):
id: str
planet_name: str
# ...
class CarItem(BaseModel):
id: str
name: str
# ...
class EitherItem(BaseModel):
__root__: Union[PlanetItem, CarItem]
@app.get("/items/{item_id}", response_model=EitherItem)
def get_items(item_id):
return EitherItem.parse_obj(response) # Now you get either PlanetItem or CarItem
</code></pre>
<p>信用证:<a href="https://github.com/tiangolo/fastapi/issues/2279#issuecomment-787517707" rel="nofollow noreferrer">https://github.com/tiangolo/fastapi/issues/2279#issuecomment-787517707</a></p>