【问题标题】:PUT VS PATCH for operation set template to default将操作集模板的 PUT VS PATCH 设置为默认值
【发布时间】:2021-08-16 17:31:42
【问题描述】:

我必须在我的实体 A 中更改一个值(模板):

class A {
private Template template
}

我的端点看起来像: /warehouse/company/{companyId}/template/default

与身体:

class MyDto {
private Long templateId
}

此操作的最佳解决方案是什么?我只想更改实体中的一个值:基于MyDto,我必须从数据库中获取模板并设置A.setTemplate(newTemplateFromDB)。

最好的选择是PATCH 没有RequestBody,但是请求正文是必要的......

【问题讨论】:

    标签: spring spring-boot rest


    【解决方案1】:

    您绝对应该使用PATCH,因为您正在部分更新您的资源 (A) 而不是完全更新它。 如果您要通过将数据库数据替换为您在端点中收到的任何数据来更新完整资源,那么您应该使用PUT。

    我只是不明白你为什么说最好的选择是没有请求正文。

    【讨论】:

      猜你喜欢
      • 2017-01-05
      • 2019-03-07
      • 2013-10-07
      • 2013-06-01
      • 2017-10-30
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 2020-09-01
      相关资源
      最近更新 更多