Эта статья представляет использование перехватчиков в Spring-Boot. Как правило, они обрабатывают междоменную обработку у перехватчиков, позволяя междоменному доступу к проектам. Для получения подробной информации об использовании перехватчиков, пожалуйста, обратитесь к официальному веб -сайту.
Шаги по реализации пользовательского перехватчика:
1. Создайте класс и реализуйте интерфейс HandlerInterceptor.
2. Создайте класс Java, чтобы наследовать WebMVCConfigurerAdapter и переопределить метод AddInterceptors.
2. РАСПРАВЛЕНИЕ ЧЕРЕЗ НАСТОЯЩЕГО ПЕРЕДЕЛЕННОГО ПЕРЕДЕЛЕННОГО УПРАВЛЕНИЯ, а затем вручную добавьте объект в цепочку перехвата (добавьте в метод AddInterceptors).
Создать класс перехвата
пакет comm.example.springboot.config.intercepter; import org.springframework.stereotype.component; импорт org.springframework.web.servlet.handlerinterceptor; import org.springframework.web.servlet.modelandView; import javax.servlet.http.hervlet.modelandView; import javax.servlet.Htt javax.servlet.http.httpservletresponse;/** * @desc Custom Interceptor, используйте @component, чтобы позволить Spring управлять своим жизненным циклом * @author wangsh * @date 2018/5/6 17:06 * @return */ @ @ @componentpublic class inflaments upplionser serizerser (@overerride publichride publicleringer whipplesser serizererver (@overerir Httpservledresponse response, обработчик объекта) Throws Exception {System.out.println (">>> prehandle >>>>>>>>>>> вызов перед обработкой запроса (перед вызовом метода контроллера)"); SetCrossDomain (ответ); вернуть true; // только тогда, когда True Returns будет продолжать выполняться вниз, верните False, чтобы отменить текущий запрос} @Override public void poshandle (httpservletrequest, httpservletresponse, обработчик объекта, модель и модель модели и вызов исключение {// call после обработки запроса, но представление будет выпущено (после того, как метод управления); System.out.println (">>> posthandle >>>>>>>>>>>>>>> звонок после обработки запроса, но до того, как представление будет отображаться (после того, как метод контроллера будет вызван)"); } @Override public void -последствия (запрос httpservletRequest, httpservletresponse, обработчик объекта, исключение Ex) бросает исключение {// вызванное после того, как весь запрос заканчивается, то есть выполняется после того, как диспетчерервлет передает соответствующее представление (в основном для очистки ресурсов); System.out.println (">>> posthandle >>>>>>>>>>>>> вызывается после того, как весь запрос заканчивается, то есть после того, как диспетчер заканчивает соответствующим представлением (в основном для очистки ресурсов)"); } / *** @param @param Настройка ответа Файл* @return void возвращающий тип* @Throws* @Title: setCrossDomain* @Description: todo (задача поперечного домана)* / private void setCrossDomain (httpservletresponse response) {response.addheader ("access-control-wallow-olorigin", ""); response.addheader ("Access-Control-Methods", "post, Get"); response.addheader ("Access-Control-Allow-Credentials", "True"); }}Добавить пользовательский перехватчик в цепочку перехвата
пакет com.example.springboot.config.config; import com.example.springboot.config.intercepter.testintercepter; import org.springframework.beans.factory.annotation.autowired; import org.springframework.context.annotation.configation; импорт; org.springframework.web.servlet.config.annotation.interceptorgistry; import org.springframework.web.servlet.config.annotation.webmvcconfigurerAdapter;/** * Регистрация */ @configurationpublic class interceptorcemerfiger webmvcconfater @@atintercerired webmvcconfater @@atintertorired webmvcconfater @@atertertorired @ateriteriredireportortoriredptertor testinterceptor; @Override public void AddInterceptors (реестр ReceptorTorgistry) {Registry.Adinterceptor (testInterceptor); }}Создать класс контроллера
package com.example.springboot.config.conroller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/user")public class UserController { @RequestMapping("/hello") public String hello () {return "hello"; }}Создать класс службы стартапов
пакет com.example.springboot.config; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; @springbootapplicationpublic class springbootconfig. SpringApplication.Run (SpringBootConfigApplication.class, args); }}
Начните тест на обслуживание, посетите http: // localhost: 8088/hello в браузере, распечатайте журнал следующим образом, вы можете увидеть, что перехватчик прошел.
Суммировать
Выше приведено подробное объяснение использования перехватчиков конфигурации Springboot, представленных редактором. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение. Редактор ответит всем вовремя!