6
如何使用继承对RESTful API建模?
我有一个对象层次结构,我需要通过RESTful API公开它,我不确定URL的结构以及返回的内容。我找不到任何最佳做法。 假设我有从动物那里继承来的狗和猫。我需要对猫狗进行CRUD操作;我还希望能够对动物进行一般的手术。 我的第一个想法是做这样的事情: GET /animals # get all animals POST /animals # create a dog or cat GET /animals/123 # get animal 123 问题是/ animals集合现在“不一致”,因为它可以返回并获取结构不完全相同的对象(狗和猫)。集合返回具有不同属性的对象是否被视为“ RESTful”? 另一个解决方案是为每种具体类型创建一个URL,如下所示: GET /dogs # get all dogs POST /dogs # create a dog GET /dogs/123 # get dog 123 GET /cats # get …