2017-08-16 93 views
-1

假设我的服务中有2个资源(模型):DegreeCourse
当用户发送POST请求的其余部分API https://example.com/degrees/degreeId/courses
与像[courseId => 2] 数据关联完成Degree ID为1到id为1 应该状态码是什么,代表此更新Course
我应该返回200还是201
你还有什么建议的响应机构?更新的Degree以及相关的Courses用于关联资源的HTTP状态代码

+0

您创建了哪些资源来保证201代码? –

+0

实际上没有资源被创建,只有一个记录被添加到数据透视表(例如course_degree表)。 – Mehrdad

+0

那么为什么你会考虑一个代码,意思是“请求已经完成并且导致一个或多个新资源被创建”? –

回答

0

我不确定你的API的大概情况。它似乎似乎是一个具体的过程(您在请求体中提供的ID)应该是它自己的资源。

但是给出的描述中,我看到了两种可能性:

1)创建一个新的资源,如

/degrees/1/course/2 

这种资源可以例如用于发出后DELETE请求。 在这种情况下,您可以返回201并将Link包括到新创建的资源中。

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

选项1似乎比我更喜欢。

+0

是的课程和学位是在后端独立的资源。 通过访问此网址,您可以关联这2个资源。所以你建议状态码200? – Mehrdad

+0

我已经将我的回答扩展到了您的评论。 –