部分更新休息资源

时间:2017-10-23 15:32:31

标签: java json rest

我有一个拥有300多个属性的资源。在尝试立即更新时,我发送了所有300个属性,这些属性从api中插入到数据库中。

毋庸置疑,这有很多问题。

  1. 有人可以轻易覆盖其他更新。
  2. 过多地发送所有300个属性。
  3. 我正在尝试将此转换为部分更新而不是完全更新。我做了一些研究,发现我可以使用HTTP动词 PATCH 来做到这一点。

    但是我不知道如何实现这一点。我的确切问题是如何确定要更新的属性。

    例如,我要说我有以下3个属性。

      

    {

    "showABC":"true",
    
     "abcRequire:"true",
    
    
     "abcReceipt":"false"
    
         

    }

    现在让我说我正在更新" abcReceipt "到" true ",所以我的请求json看起来像什么

      

    {

       "abcReceipt":"true"
    
         

    }

    现在当我在api端将它转换为JAVA Bean时,bean中所有其他属性(未在json中发送,即showABC和abcRequire )将被设置为默认值。在这种情况下就是假的。

    那时如果我要保存那个bean,我会覆盖 showABC abcRequire 的实际值。

    所以我的问题是如何在不覆盖请求中未发送的属性的原始值的情况下将请求json转换为java bean。

    P.S我想避免反思。另请注意,我有超过300个属性。

0 个答案:

没有答案