【发布时间】:2015-09-12 15:52:21
【问题描述】:
好的,我可以在我的 RESTful Web 服务中获取 POST PUT DELETE 简单资源(实体)
例如
/rest/foos
/rest/foos/1
/rest/bars
/rest/bars/1
但是如何处理添加关系。 @OneToMany,@ManyToMany 之间的这种关系使用 RESTful Web 服务。 假设我有几个 Foo 实体和几个 Bar 实体如何建立关系 Bar 1 有 Foo 3 等等。
我有这样的方法来获得这种关系:
GET /rest/bars/1/foos
Above 返回与 Bar(id=1) 相关的 foo 集合
我想可能会这样做:
POST /rest/bars/1/foos { # Foo json object }
上面将创建新的 Foo 对象并在这个新对象和 Bar(id=1) 之间建立关联。
PUT /rest/bars/1/foos/2 { # Foo json object }
如果与 Bar(id=1) 存在这样的关联,或者如果没有这样的关联并且 Foo(id=2) 存在于 Foo 表中,则上述更新 Foo(id=2) 将进行这样的关联。
如果我想只添加/更新没有关联的 Foo,我做了如下所示:
POST /rest/foos
PUT /rest/foos/2
如果我想删除 Foo(id=2)
DELETE /rest/foos/2
如果我只想删除 Bar(id=1) 和 Foo(id=2) 之间的关联
DELETE /rest/bars/1/foos/2
您如何看待这种方法?你将如何正确处理这个问题?
【问题讨论】:
标签: rest jax-rs restful-url restful-architecture