使用弹簧启动和弹簧数据校正PUT方法

时间:2017-03-03 12:43:48

标签: java rest spring-boot spring-data put

我使用Spring Boot和Spring Data构建RESTful API。我有两个实体:SiteFloor。一个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.classidname

当我将带有PUT方法的以下JSON发送到/api/sites ...

{
  "id": 1,
  "name": "SITE 1"
}

...我按预期更新了Site实体。

但是我想知道这种实施是否正确? 我不能在URI中指定我要用PUT更新的网站ID吗?像这样:/api/sites/{id}

1 个答案:

答案 0 :(得分:0)

在我看来,你可以用/api/sites/{id}发送PUT请求,在控制器方法中,你可以使用id从存储库中获取实体,更改属性" name"然后将其保存在存储库中。