我已经构建了一个返回JSON的基本c#webapi应用程序。
我的系统会有很多课程,我会以汽车为例。
我有一个名为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"的基类中。他们会有条件地使用它来将它映射到一个类的结尾?
答案 0 :(得分:1)
您可以使用DTO模式将要从Web API公开的所有属性合并到客户端。
在您的情况下可以执行此操作: 1-创建CarDto类(如果您愿意,可以使用anohter名称)以及要公开的所有属性 2 - 创建CarDto类型的列表,该列表将填充您的数据 3 - 将车辆结果替换为车辆结果。
我希望这会对你有所帮助。