我试图确定从1个REST端点返回不同对象的最佳方法。
示例:
假设客户有一个客户ID:123并且调用GET /api/customers/123
我目前的设计有多个PUT端点来支持唯一更新
PUT /api/businesses/123
PUT /api/customers/123
我看到的问题是客户端现在必须调用另一个端点来执行Business客户端的更新,这会使API更加复杂,并且我不确定从1返回不同对象类型的最佳做法GET端点。
有没有其他选择或者这种方法看起来合理吗?
编辑:所以我认为我的问题更多是因为我对待这些实体确实是独一无二的,事实上,它们是相同的(除了一些元数据属性) 。 @Patrick Hofman和@ LB2的答案。我会重构
答案 0 :(得分:0)
您可以使用HATEOAS作为指导客户所在地的相关资源的方式。
支持GET
调用的模型几乎可以将两个模型的数据属性结合起来 - 无论这个好主意与否真的取决于您Business
和{{{{{}的不同之处1}}模型。如果有理由接近类似的微小差异,那么或许合并是合理的。
但是,对于每种类型,您都会为Customer
生成正确的链接,指导客户端在何处进行更新。发送更新内容取决于您的服务与客户之间的合同。