在2个REST资源之间创建关系

时间:2019-03-04 05:27:18

标签: java rest web-services spring-boot coding-style

我有2个资源,即用户和技能。 可以使用POST来创建两个资源,如下所示:

  1. POST /用户{...}
  2. POST /技能{...}

用户和技能之间可以有多对多的关系。

我的想法是将其放置到/ users / {userId} / skills / {skillId}

我在这里有几个问题:

  1. 当我在/ users / {userId} / skills / {skillId}上发出PUT请求时,我是 创建新资源或子资源还是现有资源之间的关系?
  2. 在上述路径上成功进行PUT操作后返回的状态码应该是什么?

1 个答案:

答案 0 :(得分:1)

如我所见,这是一对多的关系,因此用户可以拥有0到许多技能,而技能永远不会拥有用户。

1-如果您使用的是PUT,则不会创建新技能,因此只需向用户添加技能即可。

2-如果成功将技能添加到该用户,则状态码应为200。