Я использую контроллеры Spring MVC для служб REST. Я хочу переопределить поведение GET и POST DispatcherServlet. Я хочу выполнить некоторую пользовательскую логику, когда какое-либо условие выполняется во время запроса GET и POST, в противном случае - в случае реализации DispatcherServlet.Как переопределить поведение get и post DispatcherServlet?
Я внедрил пользовательский serlvet, полученный из Spring DispatcherServlet. Существуют методы doGet() и doPost() на интерфейсе HttpServlet, но кажется, что эти методы были объявлены окончательными либо в DispatcherServlet, либо в одном из базового класса. Поэтому я не мог переопределить doGet() и doPost().
Из документации я выяснил два метода - doService() и doDispatch(), которые могут быть переопределены. Я смущен различием между этими двумя методами.
- Какой метод - doService() или doDispatch() следует переопределить?
- В чем разница между doService() и doDispatch()?
- Как выяснить, что такое http request - GET или POST?
Спасибо.
Какое поведение вы хотите переопределить? Не можете ли вы сделать это с помощью фильтров или перехватчиков? – axtavt
Я хочу проверить полезную нагрузку и заголовки запроса, а затем предпринять соответствующие действия. Могут быть много подходов для достижения того же. Если этот подход неверен, я могу изучить другие подходы. Есть ли что-то неправильное в переопределении поведения GET и POST DispatcherServlet? Это своего рода небольшое ПОС, а не производство. –
_inspect запрос полезной нагрузки и заголовки_ Разве это не то, для чего '@ RequestMapping'? Можете ли вы привести пример другого действия в зависимости от полезной нагрузки запроса, которая потребует более одного метода контроллера? –