REST方法中的类层次结构

时间:2014-11-06 16:21:34

标签: java rest jersey jax-rs resteasy

在我的REST API中,我在POST请求中获得了一个JSON对象@" api / register"可以是

{"role": "customer", "firstname": "something"}

{"role": "dealer", "firstname": "something", "taxnumber": "1234"}

因此CustomerDealer的子集,Dealer是特定的,包含Customer所拥有的每个属性。

我无法弄清楚类层次结构。通常,我会做以下事情:

class Dealer extends Customer

但这不适用于我的REST方法:

@POST
public Response create(Customer c)

我可以编写一个既实现但又看似人工的界面。有更好的想法吗?

1 个答案:

答案 0 :(得分:0)

你的班级层次很好。我认为你需要调整你的API设计。拥有可以发布两种资源的API端点令人困惑。

api/customers映射到:

@POST
public Response create(Customer c)

api/dealers映射到:

@POST
public Response create(Dealer d)

这更清晰,更灵活。