2013-07-01 4 views
1

Я разрабатываю проект, который будет использоваться как приложением для смартфонов, так и на веб-сайте приложения для одной страницы. Я использую Backbone.js для привязки данных.Архитектура API RESTful

У меня есть немного архитектурный вопрос: Как сделать мой API незабываемым, но обогатить данные, возвращающиеся в мои модели.

Пример:

Я хотел бы изменить роли пользователя в группе.

В остальном случае я бы загрузил коллекцию ролей для определенного пользователя в группе. Я бы проверил и снимет роли, которые я хотел бы применить к пользователю в контексте этой группы, а затем сохраните. Поэтому я делаю GET для массива ролей и PUT для сохранения измененного списка. Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно обогатить мою модель более метаданными, такими как имя группы, имя пользователя и т. Д., Поэтому у пользователя есть некоторый контекст при редактировании данных.

Я могу с легкостью сделать это, но тогда я не очень успокоился с моей моделью.

У кого-нибудь есть ресурсы, на которые они могут указать мне, что может помочь мне создать мое решение для достижения наилучшего из RESTfulness и удобства использования с помощью Backbone.js?

+3

Почему вы думаете, что вы Лоссинг при обновлении, стабильность, спокойствие ваших магистральными моделей с метаданными? –

+0

Согласен. Это в основном называется «расширение», что очень полезно. – mikalai

ответ

0

Вы можете создать Restful web-сервис, который может быть использован как в приложении для смартфонов, так и на веб-сайте приложения для одной страницы.

Пожалуйста, посмотрите на http://blogs.msdn.com/b/hongyes/archive/2012/08/30/single-page-application-with-backbone-js-and-asp-net-web-api.aspx

Здесь они создают SPA с Backbone.js и ASP.NET Web API (для создания веб-службы RESTful).

Другой большой ресурс можно найти здесь: http://www.asp.net/single-page-application/overview/templates/backbonejs-template

Спасибо.

1

Базовая модель не делает ваше приложение более или менее спокойным. По большей части, отдых посвящен взаимодействию между HTTP-клиентом и сервером. Как и в случае REST API URI Design Approach вопрос, в основном основное внимание уделяется дизайну URI.

Более практичный способ мышления или применения REST в качестве отправной точки (по крайней мере, это работает для меня), это думать следующим образом:

1) Используйте только HTTP «GET/POST/PUT/DELETE 'как способ моделирования действий вашего домена. Как и при работе с базой данных, все ваши действия сопоставляются с CURD.

2) URI/URL предназначен для идентификации ресурсов. В вашем URI никогда не должно быть никаких «действий».

3) Обмен данными должен быть в теле HTTP-сообщений. Просто для упрощения обсуждений, а не для того, чтобы самим моделировать сами данные

Две большие книги на отдыхе.

Смежные вопросы