Я пытаюсь удалить объект и вернуть список, который запускает метод управления веб-api, но затем получить ошибку
Expected response to contain an object but got an array (Request: DELETE
$scope.deleteProduct = function (productId) {
productResource.delete({
id: productId
}, function (data) {
$scope.products = data;
});
}
Контроллер ресурсов
function productResource($resource) {
return $resource("/api/products/:id");
}
Контроллер веб-api
public IQueryable Delete(int id)
{
var repository = new ProductRepository();
return repository.Delete(id).AsQueryable();
}
И это вызов базы данных, которая возвращает список продуктов.
internal List<Product> Delete(int Id)
{
IDbConnection connection;
using (connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Liberty"].ToString()))
{
var result = connection.QueryMultiple("DeleteProduct", new{prodId = Id}, commandType: CommandType.StoredProcedure);
var products = result.Read<Product>().ToList();
return products;
}
}
Как я об этом ошибаюсь?
Вы можете указать, что возвращаемый тип операции DELETE является массивом, потому что это возвращает ваш контроллер веб-API:
function productResource($resource) {
return $resource("/api/products/:id", { }, {
'delete': {
method: 'DELETE',
isArray: true
}
});
}