在我的REST API中,我在POST请求中获得了一个JSON对象@" api / register"可以是
{"role": "customer", "firstname": "something"}
或
{"role": "dealer", "firstname": "something", "taxnumber": "1234"}
因此Customer
是Dealer
的子集,Dealer
是特定的,包含Customer
所拥有的每个属性。
我无法弄清楚类层次结构。通常,我会做以下事情:
class Dealer extends Customer
但这不适用于我的REST方法:
@POST
public Response create(Customer c)
我可以编写一个既实现但又看似人工的界面。有更好的想法吗?
答案 0 :(得分:0)
你的班级层次很好。我认为你需要调整你的API设计。拥有可以发布两种资源的API端点令人困惑。
将api/customers
映射到:
@POST
public Response create(Customer c)
api/dealers
映射到:
@POST
public Response create(Dealer d)
这更清晰,更灵活。