ADO .Net RESTful部分更新

时间:2014-11-24 00:45:00

标签: rest ado.net

我正在使用一个非文档的RESTful ADO .Net服务。我正在尝试执行部分更新(例如,只通过已更改的数据发送)。

我目前的要求如下:

PUT https://{URL}/JobTypeMs(37294)
Headers: 
  Accept: application/json
  Content-Type: application/json

Body:
{ 
     "Jobtype_Name" : "Completed 2", 
     "Tenant_Id": "{A Long ID}",
     "Job_Color_Code": "000000"
}

这样做是" null" / false / blank我不发送的所有内容(状态和其他一些列)。我该如何避免这种情况?

或者我会在每次更新之前强制执行GET请求以获取当前列然后更改所有内容?

注意:我以前从未使用过ADO .Net而且我无法访问ADO .Net服务来对其进行更改。我只能使用RESTful接口。我也不确定这是ADO .Net的这个特定实现的问题,还是标准的。

更新:正如adrift建议的那样,此服务不支持PATCH方法

1 个答案:

答案 0 :(得分:1)

您可以尝试查看该服务是否支持PATCH

  

扩展超文本传输​​协议(HTTP)的几个应用程序      需要一个功能来进行部分资源修改。现有的      HTTP PUT方法仅允许完全替换文档。      此提议添加了一个新的HTTP方法PATCH来修改现有方法      HTTP资源。

另请参阅RESTful Cookbook上的this page

如果该服务不支持PATCH,那么(如您所述)您必须首先GET资源,然后PUT修改后的值。

作为旁注,此服务的行为不依赖于ADO.NET或任何其他技术。任何开发堆栈都可以在服务器上使用,并以相同的方式实现。