2015-04-02 2 views
0

Я видел, что есть несколько связанных должностей, но никто не ответил на мои вопросы.Отправка запросов JSON с использованием текстового текста или простого текста

Чтобы быть конкретным, допустим, что перед обработчиками запросов (например, веб-сервер, Spring framework, Jersey framework и т. Д.) Есть некоторые средние слои. Обработчик запросов явно объявил, что ожидает запрос JSON.

Вопрос 1 - если клиент отправляет действительный запрос JSON, но задает тип контента как текстовый/обычный, это действительная ситуация для средних слоев, НЕ доставляющая запрос обработчику запроса из-за того, тип?

Вопрос 2 - если клиент отправляет действительный запрос JSON и использует приложение типа контента/json, а обработчик запроса объявляет, что он будет самостоятельно анализировать запрос JSON. Могу ли я предположить, что некоторые реалии реального мира средних слоев все равно будут проверять запрос перед передачей его обработчику запроса? (Другими словами - это действует предположить, что применение/JSon может привести к потере производительности?)

ответ

1
  1. Все application/json содержание также действует text/plain, так что я не вижу, как валидация средний слой может поймать это. Для него не имеет смысла отклонять запрос, если только он не знает семантику запроса, которая должна отвечать за обработчик запроса. Противоположный случай имел бы смысл, с ошибкой при отправке текстовой полезной нагрузки, которая является недействительным документом JSON с application/json.

  2. Средний уровень может подтверждать, что полезная нагрузка с application/json действительна, но беспокоиться об убытках по производительности на данном этапе бессмысленно. Если после профилирования вашего приложения вы поймете, что эта проверка является узким местом, тогда действительно стоит беспокоиться об этом.

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