RESTAPI:只写资源。寄什么回来?

RESTAPI:只写资源。寄什么回来?,api,rest,web,Api,Rest,Web,基本上,我想把一个资源C发布到服务器上。 根据具体情况,资源C的创建也可能创建资源a和B。 就关系而言,C嵌套在B中,他自己嵌套在A中 在这种情况下,我们需要发布更多的数据,而不仅仅是资源C,因此,我们将发布一个只写的资源D,这在本例中没有任何意义 我的问题是:我的api应该返回什么?200,好的,201?我应该发送创建的资源C吗 谢谢。每当您想告诉用户操作成功并因此创建实体时,它都应该返回201 新创建的recrod也应该包括在内 我写这篇文章的主要依据是。给出一个现实生活中的例子可以让你更容

基本上,我想把一个资源C发布到服务器上。 根据具体情况,资源C的创建也可能创建资源a和B。 就关系而言,C嵌套在B中,他自己嵌套在A中

在这种情况下,我们需要发布更多的数据,而不仅仅是资源C,因此,我们将发布一个只写的资源D,这在本例中没有任何意义

我的问题是:我的api应该返回什么?200,好的,201?我应该发送创建的资源C吗

谢谢。

每当您想告诉用户操作成功并因此创建实体时,它都应该返回201

新创建的recrod也应该包括在内


我写这篇文章的主要依据是。

给出一个现实生活中的例子可以让你更容易理解这个问题。我希望这个问题尽可能保持理论性,从而避免真实的例子。如果我不清楚,我会尽力回答你的问题。问题是:我被要求创建D,我用C回答,这不是有点奇怪吗?我发现奇怪的是,你有一个URL,并且根据内容创建了两个不同的实体。我想你应该有两个不同的要求。一个用于创建C,只有在父级不存在时才会失败,另一个用于创建D。听起来您知道在客户端上发送不同的参数。所以我会把它分开。但很难说什么时候没有真实的例子。这听起来像url/CreateCordTogether和CBasedOnWhatisinRequest。据我所知,您应该使用拆分url来创建单独的资源SD更像是C,有更多的信息来查找此C应该引用的B,或者创建A、B和C。很难说更多,但在这种情况下,我希望有单独的请求。要在特定的B下创建C,就像POST/C/{idOfC}/B一样,如果需要创建C,请首先执行两个步骤:POST/C,然后根据C返回的内容POST/C/{idOfC}/B等。