Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.05.2016, 20:59
Новичок на форуме
Отправить личное сообщение для Capito882 Посмотреть профиль Найти все сообщения от Capito882
 
Регистрация: 13.05.2016
Сообщений: 9

DELETE и rest
Подскажите, кто как решал вопрос с

type: 'rest',
batchActions: true,

Дело в том, насколько я понимаю, спецификация REST не позволяет отправлять в теле запроса какие-то данные. Некоторые библиотеки забивают на это, а Sencha строго следует спецификации видимо.
Соотв. нельзя удалить скажем 100 записей одним запросом.

Кто как вышел из положения?
Ответить с цитированием
  #2 (permalink)  
Старый 27.05.2016, 21:17
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

Ext Direct вам в помощь: http://examples.sencha.com/extjs/6.0...ensink/#direct.
Ответить с цитированием
  #3 (permalink)  
Старый 27.05.2016, 21:40
Новичок на форуме
Отправить личное сообщение для Capito882 Посмотреть профиль Найти все сообщения от Capito882
 
Регистрация: 13.05.2016
Сообщений: 9

Эм... Ext.Direct вроде по JSON-RPC работает, a не REST?
Ответить с цитированием
  #4 (permalink)  
Старый 27.05.2016, 22:00
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Через опцию extraParams можно передать дополнительные параметры
http://docs.sencha.com/extjs/6.0/6.0...fg-extraParams
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #5 (permalink)  
Старый 27.05.2016, 22:00
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Сообщение от Capito882 Посмотреть сообщение
Эм... Ext.Direct вроде по JSON-RPC работает, a не REST?
Он предлагает вообще забыть про REST.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #6 (permalink)  
Старый 27.05.2016, 22:29
Новичок на форуме
Отправить личное сообщение для Capito882 Посмотреть профиль Найти все сообщения от Capito882
 
Регистрация: 13.05.2016
Сообщений: 9

Забыть про REST не рассматривается -) Я знаю, что у него есть проблемы и т.п. но все же плюсов больше.

Сообщение от khusamov
Через опцию extraParams
Я правильно понял, что он будет в тело запроса эти параметры пихать?
То есть, урл будет не тронут, типа:

DELETE /app/users
а в теле будет допустим массив [1,2,3]

Так?
Ответить с цитированием
  #7 (permalink)  
Старый 27.05.2016, 22:45
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Не знаю. Обычно в запросе, а не в теле. Даже при POST
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #8 (permalink)  
Старый 27.05.2016, 22:49
Новичок на форуме
Отправить личное сообщение для Capito882 Посмотреть профиль Найти все сообщения от Capito882
 
Регистрация: 13.05.2016
Сообщений: 9

Тогда это уже не REST

Ладно, спс. Будем копать дальше -)


P.S. Сам подумал ща че сказал, по идее DELETE /app/users уже вообще не REST -)

Последний раз редактировалось Capito882, 27.05.2016 в 22:53.
Ответить с цитированием
  #9 (permalink)  
Старый 28.05.2016, 01:21
Аватар для kolka
Кандидат Javascript-наук
Отправить личное сообщение для kolka Посмотреть профиль Найти все сообщения от kolka
 
Регистрация: 07.06.2010
Сообщений: 146

У меня в таком случае как раз на практике:
DELETE /app/users
а в теле будет допустим массив [1,2,3]

все работает на ура
Ответить с цитированием
  #10 (permalink)  
Старый 31.05.2016, 20:59
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

@kolka,

Работает, но это уже не REST. Это начатки доморощенного RPC, несовместимые ни с чем - включая ваше же приложение через пару лет.

@Capito882,

Ext Direct это один из вариантов RPC. Direct похож на JSON-RPC во многом, но напрямую не совместим. Какое-то время назад я игрался с идеей убить Direct и заменить его на JSON-RPC, но потом передумал: JSON-RPC слишком уж примитивный, а если его нафаршировать до нужного состояния, то получится фактически опять Direct, и опять несовместимый с оригиналом.

Поэтому вместо того, чтобы Direct убивать, я его пофиксил. :) У нас на Direct многие внутренние проекты живут: портал поддержки, Fiddle, и др. На Fiddle нагрузка довольно приличная, на портал ещё выше, но транспорт работает адекватно. Я поэтому Direct и рекламирую, что решение проверено на многих зрелых проектах, и не только в Sencha.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
REST Загрузка экземпляров связанных моделей XAPuTOH ExtJS 1 26.02.2016 12:27
Ключ delete у объекта Internet Explorer yriiarutiunian Общие вопросы Javascript 1 05.06.2015 16:57
Delete Cookie Maxxis Общие вопросы Javascript 0 03.02.2012 01:15
Restful посылает POST вместо DELETE Gant ExtJS 11 06.08.2010 12:11
delete Команда не поддерживается объектом Gloft Internet Explorer 1 09.05.2010 17:43