REST есть величайшее мракобесие и маразм всех времен и народов. Берите RPC, как советуют. На голом примитивном механизме HTTP с его недоразвитым набором глаголов POST, GET, PUT, DELETE, которые невозможно расширить и кастомизировать, сложно разработать что-то более сложное, чем работа с файлами или с записями базы данных по принципу CRUD (CREATE, READ, UPDATE, DELETE). Когда же нужно сделать хоть что-то большее, над ресурсом, ввести свой глагол, то вся идеология рушится. Например, у меня есть нефтепровод с магистральными насосными агрегатами, и нужно управлять закрытием и открытием задвижек, параметрами регуляторов давления, мониторингом катодной защиты, другими подсистемами. Эти команды через POST или PUT посылать? Смешно, да? Тут нужно 5000 глаголов/методов ввести над 20ю ресурсами, а не 4 несчастных глагола над несчетным кол-вом ресурсов. Или даже над данными в БД мне нужно новые глаголы, например, хочу создать связь между двумя объектами или дать права пользователю на изменение параметра объекта или запустить отложенную задачу генерации отчетов на сервере, просто запустить и получить в ответ прогнозируемое время завершения, как это сделать на REST? Я уже не говорю о том, что операции могут быть вообще не над ресурсами. Операции могут быть над множествами, запросами (фильтрами, выборками, курсорами), над машиной состояний, над связями между несколькими ресурсами, над системой в целом или вообще над потоками данных, событий или технологическим оборудованием.