我使用Spring Boot和Spring Data构建RESTful API。我有两个实体:Site
和Floor
。一个Floors
中有多个Site
。我想知道制作PUT方法的正确方法是什么?到目前为止,我在SiteController.class
:
@RequestMapping(method = RequestMethod.PUT, value = "/api/sites")
public void updateSite(@RequestBody Site site){
sitesService.updateSite(site);
}
这是SitesService.class
:
public void updateSite(Site site) {
sitesRepository.save(site);
}
模型Site.class
有id
和name
。
当我将带有PUT方法的以下JSON发送到/api/sites
...
{
"id": 1,
"name": "SITE 1"
}
...我按预期更新了Site
实体。
但是我想知道这种实施是否正确?
我不能在URI中指定我要用PUT更新的网站ID吗?像这样:/api/sites/{id}
?
答案 0 :(得分:0)
在我看来,你可以用/api/sites/{id}
发送PUT请求,在控制器方法中,你可以使用id从存储库中获取实体,更改属性" name"然后将其保存在存储库中。