Мы создаем веб-приложение с использованием Django/TastyPie в качестве внутреннего поставщика услуг REST и создаем фронт-интерфейс на основе AngularJS, используя множество сервисов, основанных на ресурсах, для объектов CRUD на сервере. До сих пор все отлично работает!
Но мы хотели бы уменьшить объем данных, которые мы отправляем, когда хотим обновить только одно или два измененных поля объекта.
TastyPie поддерживает это с помощью метода HTTP PATCH. Мы определили метод .diff() для наших объектов, поэтому мы можем определить, какие поля мы хотим отправить при обновлении. Я просто не могу найти документацию о том, как определить/реализовать метод объекта экземпляра, возвращаемого $resource, чтобы делать то, что мы хотим.
Что мы хотим сделать, это добавить еще один метод к экземплярам объекта (как описано в документации Angular.js здесь), например myobject. $partialupdate (), который:
- Вызовите нашу функцию .diff(), чтобы определить, какие поля отправлять, а затем
- Используйте запрос HTTP PATCH для отправки только этих полей на сервер.
До сих пор я не могу найти какую-либо документацию (или другие сообщения SO), описывающие, как это сделать, но по-настоящему оценил бы любые предложения, которые могут быть у кого-либо.
спасибо.