2013-07-19 3 views
0

Итак, у меня есть вызов ajax, который вызывает действие контроллера, которое запускает пакет для выполнения, который отделен от моего основного приложения, которое возвращает результат. Этот результат (успех или неудача) - это то, что я хочу вернуть из этого действия контроллера, а действие ajax в настоящее время представляет собой запрос GET с параметрами для отправки пакета с запросом. Должен ли это быть запрос GET как «RESTful», или это должен быть запрос POST?Дебаты о GET и POST с RESTful Service

+0

Если это был длительный процесс, вы можете использовать POST для запуска распределенного процесса и GET, чтобы получить состояние процесса по мере его запуска. – Rob

ответ

2

Я бы сказал, что это должен быть POST. GET не должен иметь никаких других эффектов, чтобы получить представление данных. Here's что W3C говорит.

Используйте GET, если:

  • Взаимодействие больше походит на вопрос (то есть, это безопасная операция, такие как запрос, операция чтения или поиска).

Используйте POST, если:

  • Взаимодействие больше похож на порядок, или
  • Взаимодействие изменяет состояние ресурса таким образом, что пользователь будет воспринимать (например, подписка на услуга) или
  • Пользователь должен нести ответственность за результаты взаимодействия.
+0

Хорошая почта. В поддержке спецификация HTML вызывает сообщение как операцию для запросов обработки данных, что в значительной степени соответствует законопроекту. – Rob

+2

Хорошо, что имеет значение в спецификации * HTTP * (и это спецификация * IETF *, а не спецификация W3C). –

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