Хорошее руководство по тому, когда использовать который:
self.
). При создании метода класса, думайте тщательно, о котором классе или модуле он принадлежит. Если Вы когда-нибудь ловите себя копирующий код в методах класса через классы, включаете его в модуль, в котором могут смешаться другие классы.
Альтернативой может быть добавление другого ресурса в систему для отслеживания просмотров профиля. Вы могли бы назвать это «Просмотр».
Чтобы увидеть все просмотры профиля:
GET / profiles / 123 / viewings
Чтобы добавить просмотр в профиль:
POST / profiles / 123 / viewings # здесь вы должны отправить детали, используя настраиваемый тип мультимедиа в теле запроса.
Чтобы обновить существующий просмотр:
PUT / viewings / 815 # отправить исправленные атрибуты просмотра в теле запроса, используя настраиваемый тип мультимедиа, который вы создали.
Чтобы перейти к деталям просмотра:
GET / viewings / 815
Чтобы удалить просмотр:
DELETE / viewings / 815
Также, потому что вы ' Если вы просите лучших практик, убедитесь, что ваша система RESTful управляется гипертекстом .
По большей части, там ' Нет ничего плохого в использовании параметров запроса в URI - просто не давайте своим клиентам представление о том, что они могут ими манипулировать.
Вместо этого создайте тип носителя, который воплощает концепции, которые параметры пытаются моделировать. Дайте этому типу мультимедиа краткое, однозначное и описательное имя. Затем задокументируйте этот тип носителя. Настоящая проблема раскрытия параметров запроса в REST заключается в том, что такая практика часто приводит к внеполосному взаимодействию и, следовательно, к усилению связи между клиентом и сервером.
Затем дайте вашей системе единый интерфейс. Например, добавление нового ресурса всегда выполняется POST. Обновление ресурса - это всегда ВЫПОЛНЕНИЕ. Удаление - это DELETE, а getiing - GET.
Самая сложная часть в REST - это понимание того, как типы мультимедиа фигурируют в дизайне системы (это ' это также та часть, которую Филдинг не включил в свою диссертацию, потому что у него не хватило времени). Если вам нужен конкретный пример гипертекстовой системы, которая использует и документирует типы мультимедиа, см. Sun Cloud API .