Я использую Angular 1.4.8 с пользовательским интерфейсом Angular и TypeScript. Мои модели определяются как таковые:
export interface IBatch extends ng.resource.IResource<IBatch> {
id: Number;
...
}
export interface IBatchResource extends ng.resource.IResourceClass<IBatch> {
snapshot(batch: IBatch);
}
Я настраиваю свой ресурс Batch
с помощью специального HTTP-глагола TAKE-SNAPSHOT
, который возвращает либо 200 OK
, либо 404 NOT FOUND
:
var paramDefaults = {
id: '@id'
};
var actions = {
'snapshot': { method: 'TAKE-SNAPSHOT' }
};
return <IBatchResource> this.$resource('/api/batches/:id', paramDefaults, actions);
Это позволяет мне сделать снимок определенного пакета. единственным параметром для этого вызова API является идентификатор пакета. Однако $resource
кодирует весь объект Batch
в строку запроса (настоящая строка имеет длину более 1000 символов, сокращена для краткости):
localhost:15000/api/batches/4?$originalData=%7B%22id%22:4,%22createdDateUtc%22:%222015-12-...
Как заставить $resource
направить запрос localhost:15000/api/batches/4
?
hasBody
ограниченоPOST/PUT/PATCH
. - person miensol   schedule 11.01.2016