Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
REST. Как сохранять сортировку?
|
|||
|---|---|---|---|
|
#18+
Имеется приложение, построенное согласно REST и CRUD. Там есть редактируемое сортируемое меню. При изменении любой записи на сервер посылается массив всех записей. При изменении порядка — массив вида: id - newPos. Какими должны быть запросы, чтобы попадать под перечисленные выше концепции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 11:51 |
|
||
|
REST. Как сохранять сортировку?
|
|||
|---|---|---|---|
|
#18+
Shitbox2, какие запросы? http? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 12:10 |
|
||
|
REST. Как сохранять сортировку?
|
|||
|---|---|---|---|
|
#18+
Ага HTTP Т.е. GET: site/menu и т. п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 13:04 |
|
||
|
REST. Как сохранять сортировку?
|
|||
|---|---|---|---|
|
#18+
И что по этой команде делать? Слать объект меню когда был добавлен новый пункт? Или когда был изменен? Или когда сортировка поменялась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 22:07 |
|
||
|
REST. Как сохранять сортировку?
|
|||
|---|---|---|---|
|
#18+
Shitbox2, а вы почитайте про REST что это и как работает. и вопросы сами отпадут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 05:47 |
|
||
|
REST. Как сохранять сортировку?
|
|||
|---|---|---|---|
|
#18+
Читал несколько раз. Ну не врубаюсь! Если исходить из их принципов то будет: GET: \menu — получение всех пунктов меню PUT: \menu — создание всего меню POST: \menu — обновление всего меню (вот тут есть смысл сохранять сортировку) DELETE: \menu — удаление всего меню GET: \menu\item — получение отдельного пункта меню (не могу представить когда такое требуется) PUT: \menu\item — создание пункта меню POST: \menu\item — обновление пункта меню DELETE: \menu\item — удаление пункта меню Рассмотрим подробнее POST: \menu — обновление всего меню Оно делится на части: - обновление сразу нескольких пунктов (например, заголовков) - обновление порядка расположения пунктов. В идеале, нужно при любом изменении отсылать на сервер всю структуру меню, но для сортировки это будет слишком накладно. Поэтому при перетаскивании отсылается лишь массив с новыми позициями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2013, 16:28 |
|
||
|
REST. Как сохранять сортировку?
|
|||
|---|---|---|---|
|
#18+
И, кстати, как быть с добавлением пункта меню? PUT: \menu\item (где item — айдишник), но айдишник-то назначается автоматически. Т.е. вместо item что угодно писать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2013, 16:56 |
|
||
|
REST. Как сохранять сортировку?
|
|||
|---|---|---|---|
|
#18+
Shitbox2.... PUT: \menu — создание всего меню POST: \menu — обновление всего меню (вот тут есть смысл сохранять сортировку) .... если мне память не обманывает PUT это не только создание нового но и апдейт а пост это все что не входит во все остальные методы Я бы на вашем месте сделал так GET /menu - возращает все меню PUT /menu?Action=childs - записывает меню начиная с верхней иерархии PUT /menu/123 - обновляет у меню с id=123 $_POST[title],$_POST[order] etc PUT /menu/123?Action=childs - записывает у меню id=123 детей. $_POST[childs'] - массив из субменю. как имено хотите передавать придумать ваше право, можете даже сортировку сами высчитывать, как вариант: $_POST[childs] = [{title:File,childs:[{title:Save as},...]}] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2013, 12:03 |
|
||
|
REST. Как сохранять сортировку?
|
|||
|---|---|---|---|
|
#18+
Спасибо! как раз узнал про действия в запросах. За одно перевел статью по теме: http://habrahabr.ru/post/180941/ Надеюсь, пригодится. В дополнение хочу спросить. Как быть с запросами, не предполагающими получение данных? Т.е. всеми, кроме GET. В ответ сервер ничего не должен слать или все же отсылать текст статуса, true, например? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2013, 17:00 |
|
||
|
REST. Как сохранять сортировку?
|
|||
|---|---|---|---|
|
#18+
Shitbox2PUT: \menu\item (где item — айдишник), но айдишник-то назначается автоматически. Т.е. вместо item что угодно писать? Без item, просто /menu (те в какой раздел добавить надо) В теле запроса - текст позиции. id назначается на сервере и возвращается в ответе на PUT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2013, 09:40 |
|
||
|
REST. Как сохранять сортировку?
|
|||
|---|---|---|---|
|
#18+
Inkelyadid назначается на сервере и возвращается в ответе на PUT Вот тут загвоздка. Использую CRUD из $resource Ангуляра (думаю, и остальных так же). Если в ответ не слать ничего, то все ОК. Если же что-то прислать, то это добавится в ресурс. т.е., вернув айдишник, он перезапишет такой же на клиенте. Это не страшно. Но если верну служебную информацию (а такой случай есть), то она так же добавится в ресурс и потом будет при любом случае отправляться на сервер. Что делаю неправильно в этой цепочке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2013, 13:56 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38268008&tid=1463779]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 377ms |

| 0 / 0 |
