所以我有一个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。
答案 0 :(得分:0)
如果要创建新资源,则无需在URI中包含ID,因为路由参数通常用于定位现有资源。例如:
/countries/{countryName}/capital-city
/albums/{albumId}/release-date
/books/{bookId}/author
请记住,您的API端点应仅描述将要进行的操作的位置,而HTTP方法应仅大致记录将要进行的操作的类型。
因此,如果要将新项目添加(POST)到名为“ Objects”的表中,则端点名称应反映出以下内容:
POST {your-webapp-name}/Objects