Нужна помощь в RESTful дизайне - PullRequest
0 голосов
/ 01 февраля 2011

Я учусь разрабатывать некоторый код RESTful, и я запнулся на первом шаге: (

Этот проект предназначен для мобильной платформы. Пользователю предоставляется форма для входа, которая, если он правильно заполняет,показана страница, где половина экрана показывает список книг, которые он купил, а другая половина показывает список книг, недавно добавленных в книжный магазин (мой сервер).

  1. IЯ использую имена, такие как "LoginService", "SearchBookService", "SelectBookService" в моем проекте .... Я просто пытаюсь преобразовать глагол в существительное, добавив слово "service" ко всем глаголам. Это нормально?

  2. Поскольку мне нужно предоставить выходные данные двух служб («MyBooksService» и «RecentAddedService») после того, как он вызывает только одну службу («LoginService»), мне интересно, как я отправлю две разныенаборы выходов .... и должно ли перенаправление с «LoginService» на «MyBooksService» и «RecentAddedService» быть внутренним (на сервере) или на стороне клиента?

Большое спасибо!

Ответы [ 2 ]

1 голос
/ 01 февраля 2011

(1) Важно выбрать хорошие имена для ваших ресурсов REST.Я бы предложил, чтобы ваши имена ресурсов (URI) выглядели примерно так:

.../books/user/bob
.../books/recentlyadded

Код, реализующий эти ресурсы, возвращает представления, представляющие собой списки книг (где представление каждой книги может иметь заголовок, автора, ISBNномер, URI изображения и т. д.).Вы можете назвать эти модули UserBooksResource и RecentAddedBooksResource, возможно.Имена не должны иметь большого значения, так как они могут быть изменены без влияния на ваш фактический API REST (т. Е. Имена ресурсов URI, представления, глаголы операций HTTP и т. Д.)

(2) Безопасность можетбыть сделано несколькими способами.Например, если вы находитесь в мире Java, проверьте безопасность Spring Framework.Это вставляет обработку входа в систему над сервлетами, производящими представления.Или рассмотрите возможность использования структуры Restlet, которая имеет отличную поддержку REST и включает понятие Guards, которые создают проблемы безопасности до того, как запрос попадет в ваш код ресурса REST.Restlet также предоставляет чистые способы генерирования различных видов представлений для одного и того же ресурса (например, XML плюс JSON плюс XHTML в зависимости от того, что клиент запрашивает в своем заголовке Accept).

Если вы можете, изучите Richardson иВеб-службы RESTFul (O'Reilly) от Ruby - очень четкое объяснение того, как реализовать службы REST.

0 голосов
/ 01 февраля 2011

Я использую такие имена, как "LoginService", "SearchBookService", "SelectBookService" в моем проекте .... я я просто пытаюсь преобразовать глагол в существительное, добавив слово "служба" на все глаголы. Это нормально?

Почему бы и нет? Важно то, что ваше именование имеет смысл и является последовательным на протяжении всего проекта. Таким образом, у вас или любого другого человека, работающего над кодом на более позднем этапе, не будет проблем с пониманием того, что запрашивается.

Так как мне нужно дать вывод двух услуги ("MyBooksService" & "RecentAddedService") после того, как он звонит только один сервис («ЛогинСервис»), я мне интересно, как я отправлю два разные наборы выходов .... и ли перенаправление с "LoginService" для "MyBooksService" & "RecentAddedService" должно быть внутренний (на сервере) или на на стороне клиента?

Я выполняю все запросы API на стороне сервера. Если вы создаете веб-приложение для мобильного телефона, вам, возможно, придется иметь дело с другими телефонами, кроме телефонов на базе iPhone или Android. Не все из них поддерживают Javascript или имеют активированный Javascript по умолчанию. Будь осторожен!

Надеюсь, что правильно понял ваши вопросы, если нет, пожалуйста, спросите еще раз.

...