1

我有一个与就业有一对多关系的 Person 类。CRM 中的一个人可以有多个职位(历史数据)。

我当前用于此类的 REST URI 如下所示:

http://domain/persons GET [collection]
http://domain/persons/{id} GET [resource]
http://domain/persons/{id}/employments GET [collection]

为了获得 CURRENT 活跃的就业(所以 endDate 为 NULL 的就业),我应该创建一个 URI 还是应该使用 QueryParam 来完成?

基本上我应该这样做:

http://domain/persons/{id}/employments/current GET [resource]

或者

http://domain/persons/{id}/employments?current GET [collection with query param filter]

我正在考虑第二个(使用查询参数),因为据我了解 REST 应该使用不可更改的 URI 来标识资源。由于当前的就业职位可以更改,因此应该使用 QueryParam 来完成。

你有什么建议?

4

1 回答 1

1

我会通过像这样唯一地识别每个工作来做到这一点:

http://domain/persons/{id}/employments/{id} GET [resource]


根据评论信息更新:

当用户调用GET http://domain/persons/{id}/employments/时,她可以使用类似的过滤器,该过滤器?state=current将返回引用当前就业并由类似的东西唯一标识的资源http://domain/employments/{id}

于 2013-04-13T15:46:22.780 回答