У меня есть 2 приложения для rails, один в Rails 2 (клиент) и один в Rails 4 (API).Добавление параметров в запрос GET
Проблема в том, что иногда у меня есть запросы GET с слишком длинным URI. API поднимает ERROR WEBrick::HTTPStatus::RequestURITooLarge
исключение.
На данный момент у меня есть только три решения, которые мне не нравятся:
Transform GET запрос POST/PUT (любой запрос, имеющий тело в запросе). Мне это не нравится, потому что у значение «get» больше не имеет смысла. Я ничего не ставил, ничего не пишу, я получаю только информацию. http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html говорит:
Метод GET означает получение любой информации (в форме объекта), идентифицируемой Request-URI. Если Request-URI ссылается на процесс создания данных, то полученные данные должны быть возвращены в качестве объекта в ответе, а не в исходном тексте процесса, если только этот текст не является результатом процесса.
Изменение значения по умолчанию
MAX_URI_LENGTH
(как http://kandadaboggu.com/post/40618627239/fixing-webrick-httpstatus-requesturitoolarge делает). Для меня это просто дрянной, и это не мешает быть достаточно большим.Добавление моих параметров в
headers
How do you add a custom http header?. Для меня это менее дрянное решение. Я не знаю, соответствует ли это стандарту, который можно легко переносить для API.
У вас есть решение? Если вы этого не сделаете, то чем менее дерьмовым?