У меня есть контроллер ASP.NET Web Api (1) с действиями GET, POST и DELETE. Я вызываю это из приложения Angular 1.2.0 RC3 с $resource
. Назовем контроллер Foos
.
Я делаю GET, который возвращает список foos:
GET http://localhost:55386/api/foos/123456/1 HTTP/1.1
Host: localhost:55386
Connection: keep-alive
Accept: application/json, text/plain, */*
Origin: null
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,es;q=0.6
где находится ресурс
/api/foos/clientId/recordId
Здесь я говорю дайте мне список foos для клиента x и запишите y
Теперь я хочу удалить один foo из списка полученных foo, поэтому я вызываю $delete
:
$scope.delete = function(foo){
foo.$delete();
}
однако это приводит к следующему запросу:
DELETE http://localhost:55386/api/foos/123456/1 HTTP/1.1
Host: localhost:55386
Connection: keep-alive
Accept: application/json, text/plain, */*
Origin: null
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,es;q=0.6
Это удаление, очевидно, пытается удалить весь список foos, что имеет смысл.
У меня вопрос: как удалить один foo с помощью $resource Angular, не получая каждый foo в своем собственном запросе GET?
ОБНОВИТЬ:
Я мог бы сделать GET /api/foo/1
, где ресурс foo/fooId
, и его эквивалент DELETE /api/foo/1
, чтобы удалить его, но я хочу получить список foos вместо каждого foo по отдельности.