Как мы все знаем, веб-служба ReST не может удерживать состояние - это проблема для меня сейчас, когда я рассматриваю крупные транзакции с базой данных, и мне интересно, можете ли вы помочь.REST и большие запросы к базе данных
У моего веб-службы ReST есть одна важная роль - выполнять операции CRUD с базой данных. Проблема в том, что я должен запросить таблицу с тысячами строк и отправить ее клиенту как XML - это не хорошо. Неэффективно требовать тысячи записей, но вы не можете выполнять частичные транзакции (например, используя ключевое слово ROWNUM в Oracle) с помощью веб-службы REST. Итак, как вы обходите это?
Один из возможных способов получить записи из таблицы 100 в то время, было бы:
http://mywebservice/employees/0/100
Я придерживаюсь состояние для последнего запроса, представленного т.е. 100
следующий запрос будет:
http://mywebservice/employees/101/200
и так далее. Но неужели это строго успокаивает?
Как этот ORACLE конкретный? Клиент должен удерживать состояние и должен отправлять данные, такие как смещение, упорядочение и количество строк, которые он хотел бы вернуть. Если клиент хочет все данные, вы ничего не можете с этим поделать. Таким образом, клиент должен выполнять всю работу. Или я что-то пропустил? Можете ли вы опубликовать точный образец? – Christian
В чем проблема? Что большой стол? Или что возвращаемое подмножество велико? Или вы не можете вернуть подмножества данных? – Ronnis
@Waxolunist - На самом деле это не Oracle, я просто использовал его в качестве примера. Я могу согласиться с тем, что клиент должен выполнить всю работу и сохранить состояние и сформировать URL-адрес соответственно, - но есть аргумент счетчика, что клиенту не нужно знать тонну информации, чтобы сформировать действительный URL-адрес - он должен быть привязан к себе или иначе я думаю, что ты ступаешь в не спокойную территорию. – Vidar