我正在使用Play框架構建一個通過其REST API與Salesforce集成的Web應用程序。爲了向其接口發送upsert命令,看起來好像我必須使用PATCH方法而不是POST方法請求。是否可以使用Play的WSRequest對象並將方法類型更改爲PATCH而不是POST?如果沒有,我該如何使用請求對象併發送PATCH請求呢?如何使用PATCH方法爲Salesforce更新發送請求?
爲了學習目的,什麼是PATCH方法,以及爲什麼Salesforce強制使用它而不是POST方法?
我正在使用Play框架構建一個通過其REST API與Salesforce集成的Web應用程序。爲了向其接口發送upsert命令,看起來好像我必須使用PATCH方法而不是POST方法請求。是否可以使用Play的WSRequest對象並將方法類型更改爲PATCH而不是POST?如果沒有,我該如何使用請求對象併發送PATCH請求呢?如何使用PATCH方法爲Salesforce更新發送請求?
爲了學習目的,什麼是PATCH方法,以及爲什麼Salesforce強制使用它而不是POST方法?
我不知道什麼是在玩可用,但是從REST API documentation,這裏是一個解決辦法,如果你的庫不支持PATCH:如果您使用不HTTP庫
允許覆蓋或設置任意HTTP方法名稱,您可以發送POST請求並通過查詢字符串參數
_HttpMethod
向HTTP方法提供覆蓋。
例如,要更新帳戶,這將有一個實際的POST請求的工作:
.../services/data/v23.0/sobjects/Account/0016000000eEhmxAAC?_HttpMethod=PATCH
至於後面使用PATCH的理由,這是因爲補丁是用於局部更新的資源。也就是說,您只需發送正在更新的字段。如果你需要發送更新記錄的所有字段,PUT可能是更好的選擇。 POST通常僅用於新插入。這裏是一個例子的解釋: http://jasonsirota.com/rest-partial-updates-use-post-put-or-patch
好的解釋! – metadaddy
不再有效 –
這仍然適用於我:https://gist.github.com/ryanbrainard/9765354 – ryanbrainard