Что лучший способ состоит в том, чтобы создать УСПОКОИТЕЛЬНЫЕ сложные запросы?

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

print( (lambda x,y:x if x.remove(y) is None else None) ([1, 2, 3], 2) )

Вам нужна копия Отказ от ответственности из двух других ответов ? Короче говоря, это не очень читаемый кусок кода.

6
задан andrecarlucci 19 December 2008 в 20:46
поделиться

4 ответа

Звучит УСПОКОИТЕЛЬНЫМ мне, если Вы используете уникальный идентификатор. Если набор результата запроса является большим, Вы могли бы хотеть включать способ попросить строки набора результатов M - N, где M, N являются параметрами.

Я предполагаю, что преимущество Вашего подхода уникального идентификатора (w/состояние определения запроса, сохраненное на сервере), является Вами, мог использовать результат запроса как параметр другого запроса. Возможно, даже выделите РЕГИСТРАЦИЮ определения запроса от выполнения запроса.

2
ответ дан 17 December 2019 в 02:35
поделиться

Это - стандартный УСПОКОИТЕЛЬНЫЙ подход. POST к ресурсу и ожидают a 201 Created (никакое тело объекта) с URI к созданным результатам в Location заголовок. Можно также возвратить результаты с a 200 OK ответ и дополнительно URI, указывающий на результаты для будущего (de) ссылка в ответе наряду с копией результатов.

2
ответ дан 17 December 2019 в 02:35
поделиться

Это в порядке. Но это представляет несколько проблем:

  1. Необходимо ли сохранить данные запроса по серверу при очистке старых запросов?
  2. При очистке старых запросов это означает, что Вы не можете предоставить ссылки на сохраненные запросы, потому что они, возможно, были уже убраны.

  3. Даже простой запрос требует двух распространений в прямом и обратном направлениях (POST, и затем ДОБЕРИТЕСЬ),

  4. Ваш клиент должен быть знаком с XML-схемой, которую Вы ожидаете вместо известного: param1=val1&param2=val2
1
ответ дан 17 December 2019 в 02:35
поделиться

sorry, my ignorance...

but why not just returning the data with the post???

I can understand why it's wrong to update data with a get, but I don't see why it should be mandatory to update data with every post?

I also understand that the idea is that every get method could be potentially cached (because they don't modify data), but in this case they could only be cached if the temporarily saved query is still active... which adds another layer of complexity...

I also thought that one of the principles of rest is to define stateless (like the http protocol) interfaces, and in this case the server is maintaining a state to solve the query...

I've just started reading about rest and there area several things that I just don't yet understand...

1
ответ дан 17 December 2019 в 02:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: