Я предполагаю, что вы ссылаетесь на часть конфигурации в вашем web.xml
, что-то вроде этого:
<filter>
<filter-name>method-filter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>method-filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
На что вы ссылаетесь, это функция, которая охватывает сценарии для браузеров, которые не поддерживают определенный запростипов, и он все еще может быть полезен в определенных сценариях, если / когда добавляются новые типы запросов, но браузеры их не поддерживают.
Еще одна похожая вещь о «избыточности», которую вы можете заметить во многих проектах, этот. е. использование CharacterEncodingFilter
многими внутренними разработчиками, когда они устанавливают свои REST API.Нечто подобное можно было бы увидеть в таком случае в их web.xml
:
<filter>
<filter-name>encoding-filter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding-filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
. В то же время многие разработчики внешних интерфейсов устанавливают собственные заголовки, которые в основном делают то же самое.Это вовсе не неправильно с их стороны, оно на самом деле предназначено для охвата всех возможных сценариев, и хотя некоторые могут счесть его избыточным, другие найдут его ориентированным на детали.
TL; DR: Spring - это готовая к работе инфраструктура, которая предоставляет не только новые функции, но и охватывает такие проблемы, как пограничные сценарии, обратная совместимость и стратегии перехода к новым технологиям.