在JSON响应中指定类类型

本文关键字:类型 JSON 响应 | 更新日期: 2023-09-27 17:52:46

我已经构建了一个基本的c# webapi应用程序,返回JSON。

我的系统将有许多类,我将以汽车为例。

我有一个叫做Car的抽象类,它有许多继承自Car的不同类型的汽车。例如卡车、轿车、豪华轿车、推土机、救护车等。这些都有一些额外的属性。

我的应用程序中的一切都按预期工作,但当我查询/api/Cars/并返回所有汽车时,我可能会得到这样的东西:

{
    "Id": 6290,
    "Make": "GM",
    "Model": "Yukon",
    "Seats": 7
},
{
    "Id": 6291,
    "Make": "Caterpillar",
    "Model": "D11T",
    "BucketWidth": 14.5
},
{
    "Id": 6292,
    "Make": "Braun",
    "Model": "Express",
    "Siren": "ACME"
}

那么,作为消费这个东西的人,他们怎么知道第一件东西是SUV,第二件是推土机,第三件是救护车呢?

我添加一个属性到基类称为"CarType",他们将有条件地使用它映射到一个类在他们的端?

在JSON响应中指定类类型

你可以使用DTO模式来合并你想要从web API向客户端公开的所有属性。

  • 数据模式定义
  • <
  • Dto例子/gh>

在您的情况下可以这样做:1-创建一个CarDto类(你可以使用另一个名字,如果你喜欢),你想要公开的所有属性2 -创建一个类型为CarDto的列表,其中将填写您的数据3 -把你的车的结果换成你的车的结果。