我有一个对象层次结构,想要通过REST API公开,并讨论最佳实践。我之前看到过这个问题(例如这里的结尾,这里,这里,特别是这里),但从未得出任何结论。
假设我有一个基类,比如Animal
,以及许多不同的继承类,比如Antelope
、Bird
、...、Zebra
。每种动物都具有独特的属性。
哪个更好呢?
- 一个端点路径:
/animals
。您根据种类发送和接收略有不同的主体。有一个type
字段可帮助解析。 - 每种动物都有一个单独的端点路径,
/animals/antelopes
、/animals/birds
、...、/animals/zebras
。每个端点始终接受和返回一个一致的主体(但这些主体彼此不同)。