我有一個Spring Data Rest項目,它揭示了由JPA和hibernate管理的實體。 我使用多個PATCH請求更新實體中的多個多對多關係。多個PATCH請求REST結束點
因此,我發送PATCH請求到終點,實體URL列表作爲每個多對多關係的主體。
貼劑請求發生同時這樣一個請求被進行,並且所述第二併發請求給出
行被另一事務更新或刪除(或者未保存值的映射是不正確的)
有方式要同時修補實體? 實施例實體是等,
User {
List<Role> roles;
List<Module> modules;
}
併發補丁的請求發生在兩個角色和模塊。
編輯:這是我用來修補的角碼。
var patchRequests = [];
angular.forEach(copy, function (value, property) {
if (angular.isArray(copy[property])) {
// If array contains more than zero elements
if (copy[property].length > 0) {
patchRequests.push(
$http.patch(url,copy[property].join('\n'), {
headers: {
'Content-type': 'text/uri-list'
}
}));
}
}
});
$q.all(patchRequests);
'複製' 對象是像波紋管
{"roles":["http://localhost:9002/api/roles/1","http://localhost:9002/api/roles/3"],"modules":["http://localhost:9002/api/modules/1"],"subModules":[],"userName":"hrandika","password":"password","email":"[email protected]","activated":true}
編輯2: 春天數據剩下的只是一個接口
@Repository
public interface UserRepository extends PagingAndSortingRepository<User, Long>{
}
向我們展示您在打補丁的地方的代碼。 –
@RobertMoskal我添加了AngularJS代碼和我用來修補的對象。簡單地說,我遍歷對象屬性,選擇數組,如果數組長度大於0,則發送PATCH。 –
這是我認爲我們需要看到的服務器端點。 –