In the below examples I have used the 'ABC Mappings' as my SharePoint list. The CRUD operations are done against the items in this list.
Create
var payload = '';
var itemCreated = '';
payload = { SourceField: item.SourceField, SheetName: item.SheetName, CellCoordinate: item.CellCoordinate, DataType: item.DataType, __metadata: { type: 'SP.Data.ABCMappingsListItem' } };
var siteUrl = window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl;
$http({
method: 'POST',
url: siteUrl + "/_api/web/lists/getByTitle('ABC Mappings')/items",
data: payload,
async: false,
headers: {
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
}
}).success(function (data, status, headers, config) {
itemCreated = data.d.ID;
}).error(function (data, status, headers, config) {
alert('error');
});
Read
var siteUrl = window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl;
$http({
method: 'GET',
url: siteUrl + "/_api/web/lists/getByTitle('ABC Mappings')/items?$select=ID,SourceField,SheetName,CellCoordinate,DataType",
headers: { "Accept": "application/json;odata=verbose" }
}).success(function (data, status, headers, config) {
$scope.items = data.d.results;
}).error(function (data, status, headers, config) {
alert('error');
});
Update
Initially you need to find the list item type. For this we can use the below REST call
http://<weburl>/_api/lists/getbytitle('Document Library Name')?$select=ListItemEntityTypeFullName
The function call:
//Variables
var payload = '';
var itemUpdated = '';
var itemId = item.ID;
//Create item
payload = { SourceField: item.SourceField, SheetName: item.SheetName, CellCoordinate: item.CellCoordinate, DataType: item.DataType, __metadata: { type: 'SP.Data.ABCMappingsListItem' } };
var siteUrl = window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl;
$http({
method: 'POST',
url: siteUrl + "/_api/web/lists/getByTitle('ABC Mappings')/items(" + itemId + ")",
data: payload,
async: false,
headers: {
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"IF-MATCH": "*",
"X-HTTP-Method": "MERGE",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
}
}).success(function (data, status, headers, config) {
}).error(function (data, status, headers, config) {
alert('error');
});
Delete
var siteUrl = window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl;
$http({
method: 'POST',
url: siteUrl + "/_api/web/lists/getByTitle('ABC Mappings')/items(" + itemId + ")",
async: false,
headers: {
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"IF-MATCH": "*",
"X-HTTP-Method": "DELETE",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
}
}).success(function (data, status, headers, config) {
}).error(function (data, status, headers, config) {
alert('error deleting');
});