2013-09-26 4 views
3

В моем веб-приложении у меня есть модель user и модель journal и post. Каждый пользователь может иметь несколько журналов, каждый журнал может иметь несколько сообщений. Ниже представлен лучший способ представить это в RESTful способом?Простая схема URL-адреса REST

/profiles/<username> 
/profiles/<username>/journals/<journal_id> 
/profiles/<username>/journals/<journal_id>/posts/<post_id> 

или же:

/profiles/<username> 
/journals/<journal_id> 

быть лучше пойти?

+3

Вы можете найти [эту ссылку] (http://weblog.jamisbuck.org/2007/2/5/nesting-resources) полезно. Это немного устарело, но все же очень актуально (официальные направляющие рельсов также используют его как рекомендуемый ресурс). – 8bithero

+0

Спасибо за ссылку, просто закончил читать ее. Итак, более плоская иерархия считается эмпирическим правилом, если нет других факторов для рассмотрения? – KingFu

+1

Я бы разработал его так, чтобы пользователь должен был выбрать URL-адрес для каждого журнала. Меньше числовых идентификаторов в URL-адресе лучше imo. Некоторые системы даже пытаются устранить post_id, преобразовывая почтовый объект в своего рода временную прокрутку. Я не уверен, что это не слишком много. –

ответ

0

У вас есть три типа ресурсов: профили, журналы и сообщения.

Если вашему бизнесу необходимо разрешить конечным пользователям доступ к ним всем, вам необходимо предоставить PUT/POST/GET/DELETE CRUD operations на этих ресурсах базу по вашим потребностям (вам могут не понадобиться все операции на всех мысль ресурсы)

/profiles/<username>/ 
/journals/<journal_id>/ 
/posts/<post_id>/ 

Если вам необходимо обеспечить логическое отображение и связь между этими ресурсами, вам также необходимо предоставить следующие документы:

/profiles/<username>/journals/<journal_id> 
/profiles/<username>/journals/<journal_id>/posts/<post_id> 

вы также можете посмотреть в этом posting as, что может быть одобрить чтобы подумать о сопоставлении деловых отношений между ресурсами.

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