2017-03-03 168 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