关联资源的 HTTP 状态码
HTTP status code for associating resources
假设我的服务中有 2 个资源(模型):Degree
、Course
。
当用户发送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 似乎更适合我。
假设我的服务中有 2 个资源(模型):Degree
、Course
。
当用户发送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 似乎更适合我。