2017-03-03 200 views
0

我使用Spring Boot和Spring Data构建RESTful API。我有两个实体:SiteFloor。有几个Floors在一个Site。我想知道做PUT方法的正确方法是什么?到目前为止,我有在SiteController.class这个方法:用弹簧引导和弹簧数据修正PUT方法

@RequestMapping(method = RequestMethod.PUT, value = "/api/sites") 
    public void updateSite(@RequestBody Site site){ 
     sitesService.updateSite(site); 
    } 

这是SitesService.classSite.classidname

public void updateSite(Site site) { 
     sitesRepository.save(site); 
    } 

模型。

当我将在与PUT方法JSON到/api/sites ...

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

...我得到更新而更新Site实体如预期。

但我想知道这个实现是否正确? 我不应该在URI中指定一个我将用PUT更新的站点ID吗?像这样:/api/sites/{id}

回答

0

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

+0

谢谢。正在考虑同样的方法。 –

+0

@VitaliiPlagov如果它适合您,您能否将其标记为已接受? – Simon