Я хочу реализовать REST API и нуждаюсь в теле в моих запросах GET. (Как обсуждалось здесь: HTTP GET с телом запроса)
Есть ли http-клиенты, которые не могут отправить тело с запросом GET? Fiddler способен это сделать, хотя поле сообщения красное.
Я хочу реализовать REST API и нуждаюсь в теле в моих запросах GET. (Как обсуждалось здесь: HTTP GET с телом запроса)
Есть ли http-клиенты, которые не могут отправить тело с запросом GET? Fiddler способен это сделать, хотя поле сообщения красное.
Как правило, идея GET в REST заключается в том, что любой из ваших параметров отправляется в URL. Поскольку ответ на вопрос, который вы указали, указывает, что он выполним, но пропускает точку REST, которая должна иметь согласованный интерфейс webbish. Если вы хотите передать сложные данные своей конечной точке, вы, вероятно, захотите использовать POST, который ваши пользователи ожидают иметь тело. Я настоятельно рекомендую пересмотреть эту реализацию.
Но к вашему фактическому вопросу, конечно, есть клиенты, которые не могут отправить тело в GET. В основном, я бы предположил, что ваши клиенты будут программными, скажем, python urlib2, и, хотя вы можете установить тело в GET, на самом деле это не намеренное использование модуля, поэтому вы вынуждаете программиста становиться странным. Что еще более важно, идея REST api - быть клиентом-агностиком, поэтому мне кажется, что ваш дизайн API должен быть переработан здесь.
Это плохая идея использовать тело в запросах GET HTTP. Да, похоже, что "de jure" HTTP GET может иметь тело, но "де-факто" у вас будут проблемы:
Вы ищете трудный путь? С GET с телом у вас будет так много подводных камней. Почему бы не использовать другие HTTP-глаголы?
Например, используйте POST (или некоторые другие глаголы), чем:
Не искать более сложные способы:)