正确的REST调用用于创建资源

时间:2019-02-18 08:53:29

标签: rest

所以我有一个rest api,它具有以下用于创建资源的REST uri

/ object / {id}

我使用传递给我的ID来设置资源,在mongo中,还有一个objectId与此不同。

json:

object: {
  "id":id
  .....
  .....
}

mongo:

 object: {
  "objectId"....
  "id":....

}

我的问题是,REST中的POST是否正确使用?我可以从他的uri中删除ID。然后对ID为正文的../object进行POST。

我认为这是正确的,因为mongo会创建一个ID,我唯一的疑问是我随后会使用传递给后续请求的ID。

1 个答案:

答案 0 :(得分:0)

如果要创建新资源,则无需在URI中包含ID,因为路由参数通常用于定位现有资源。例如:

/countries/{countryName}/capital-city
/albums/{albumId}/release-date
/books/{bookId}/author

请记住,您的API端点应仅描述将要进行的操作的位置,而HTTP方法应仅大致记录将要进行的操作的类型。

因此,如果要将新项目添加(POST)到名为“ Objects”的表中,则端点名称应反映出以下内容:

POST {your-webapp-name}/Objects