【问题标题】:Correct PUT method with spring-boot and spring-data使用 spring-boot 和 spring-data 正确 PUT 方法
【发布时间】:2017-07-23 14:00:04
【问题描述】:

我正在使用 Spring Boot 和 Spring Data 来构建 RESTful API。我有两个实体:SiteFloor。一个Site 中有几个Floors。我想知道制作 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 具有idname

当我使用 PUT 方法将以下 JSON 发送到 /api/sites...

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 谢谢。正在考虑同样的方法。
    猜你喜欢
    • 2016-08-04
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    相关资源
    最近更新 更多