关联资源的 HTTP 状态码

HTTP status code for associating resources

假设我的服务中有 2 个资源(模型):DegreeCourse
当用户发送post请求给其余APIhttps://example.com/degrees/degreeId/courses
数据如 [courseId => 2] 它将 Degree 与 id 1 关联到 Course 与 id 1。 表示此更新的状态代码应该是什么?
我应该 return 200 还是 201.
另外你对响应体有什么建议?更新后的 Degree 以及关联的 Courses?

我不确定你的 API 的大局。似乎特定课程(您在请求正文中提供的 ID)应该是它自己的资源。

不过根据描述,我看到了两种可能性:

1)新建一个资源,如

/degrees/1/course/2

例如,此资源可用于发出稍后的 DELETE 请求。 在这种情况下,您可以 return 201 并在新创建的资源中包含一个 Link

2) 如果没有这样的资源,200 似乎是唯一适用的正面回应。

选项 1 似乎更适合我。