ProtoRPC & REST - PullRequest
       20

ProtoRPC & REST

11 голосов
/ 18 мая 2011

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

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

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

Ответы [ 2 ]

2 голосов
/ 18 мая 2011

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

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

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

1 голос
/ 13 июля 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...