ProtoRPC & REST

Я пробовал работать с ProtoRPC, и мне очень нравится, как легко я могу добавлять методы, изменять поля и как твердо и структурировано мое приложение код выглядит с этим. Теперь я играю с Backbone.js и, как и его идея; Я вижу, что Backbone предлагает CRUD через REST в качестве предпочтительного метода работы с удаленным источником данных.
 Я знаю, что это позволяет мне переопределять Backbone.sync, чтобы он соответствовал моим потребностям.

Хотя, я не уверен, что лучший подход к объединению Backbone и ProtoRPC вместе. Я также не думаю, что мне нужно сделать серверную службу RESTful, если у меня есть ProtoRPC, и она отлично работает.

Не могли бы вы поделиться своими идеями, как лучше сделать все это вместе и радоваться?

Ответ 1

REST и RPC отличаются довольно резко. Я бы посоветовал не пытаться вступить в брак с клиентом REST на сервере RPC.

В ProtoRPC каждый метод имеет отличную конечную точку. Каждая конечная точка принимает хорошо сформированное сообщение через HTTP POST в виде словаря JSON и при успешном завершении возвращает хорошо сформированный ответный словарь и HTTP 200. С REST каждая конечная точка должна представлять ресурс или набор ресурсов. Ваш HTTP-глагол должен указывать желаемое действие, тело запроса и ответа должно заполняться либо полным представлением ресурса, либо вообще ничего, а код ответа HTTP-сервера, даже в случае успеха, должен изменяться в зависимости от результат операции.

Похоже, что Backbone.js позволит вам скользить по HTTP-глаголу, но в остальном он ожидает REST-совместимый сервер. Если вы намерены использовать Backbone.js, вы можете пропустить ProtoRPC и использовать что-то вроде appengine-rest-server.

Ответ 2

Я знаю это немного поздно, но, похоже, кто-то реализовал JSONRPC для Backbone.js:

Github (Документы)