- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章SpringBoot添加自定义拦截器的实现代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
在controller层时,往往会需要校验或验证某些操作,而在每个controller写重复代码,工作量比较大,这里在springboot项目中 ,通过继承webmvcconfigureradapter,添加拦截器.
1、webmvcconfigureradapter源码 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
/*
* copyright 2002-2016 the original author or authors.
*
* licensed under the apache license, version 2.0 (the "license");
* you may not use this file except in compliance with the license.
* you may obtain a copy of the license at
*
* http://www.apache.org/licenses/license-2.0
*
* unless required by applicable law or agreed to in writing, software
* distributed under the license is distributed on an "as is" basis,
* without warranties or conditions of any kind, either express or implied.
* see the license for the specific language governing permissions and
* limitations under the license.
*/
package org.springframework.web.servlet.config.annotation;
import java.util.list;
import org.springframework.format.formatterregistry;
import org.springframework.http.converter.httpmessageconverter;
import org.springframework.validation.messagecodesresolver;
import org.springframework.validation.validator;
import org.springframework.web.method.support.handlermethodargumentresolver;
import org.springframework.web.method.support.handlermethodreturnvaluehandler;
import org.springframework.web.servlet.handlerexceptionresolver;
/**
* an implementation of {@link webmvcconfigurer} with empty methods allowing
* subclasses to override only the methods they're interested in.
*
* @author rossen stoyanchev
* @since 3.1
*/
public abstract class webmvcconfigureradapter implements webmvcconfigurer {
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void configurepathmatch(pathmatchconfigurer configurer) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void configurecontentnegotiation(contentnegotiationconfigurer configurer) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void configureasyncsupport(asyncsupportconfigurer configurer) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void configuredefaultservlethandling(defaultservlethandlerconfigurer configurer) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void addformatters(formatterregistry registry) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void addinterceptors(interceptorregistry registry) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void addresourcehandlers(resourcehandlerregistry registry) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void addcorsmappings(corsregistry registry) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void addviewcontrollers(viewcontrollerregistry registry) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void configureviewresolvers(viewresolverregistry registry) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void addargumentresolvers(list<handlermethodargumentresolver> argumentresolvers) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void addreturnvaluehandlers(list<handlermethodreturnvaluehandler> returnvaluehandlers) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void configuremessageconverters(list<httpmessageconverter<?>> converters) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void extendmessageconverters(list<httpmessageconverter<?>> converters) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void configurehandlerexceptionresolvers(list<handlerexceptionresolver> exceptionresolvers) {
}
/**
* {@inheritdoc}
* <p>this implementation is empty.
*/
@override
public void extendhandlerexceptionresolvers(list<handlerexceptionresolver> exceptionresolvers) {
}
/**
* {@inheritdoc}
* <p>this implementation returns {@code null}.
*/
@override
public validator getvalidator() {
return null;
}
/**
* {@inheritdoc}
* <p>this implementation returns {@code null}.
*/
@override
public
messagecodesresolver getmessagecodesresolver() {
return
null
;
}
}
|
可以看出,该类 还能配置其他很多操作,例如异常处理,跨域请求等配置.
2、自动义web配置类 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import
org.springframework.context.annotation.bean;
import
org.springframework.context.annotation.configuration;
import
org.springframework.web.servlet.config.annotation.interceptorregistry;
import
org.springframework.web.servlet.config.annotation.webmvcconfigureradapter;
@configuration
public
class
webmvcconfig
extends
webmvcconfigureradapter {
@override
public
void
addinterceptors(interceptorregistry registry) {
registry.addinterceptor(getmyinterceptor()).addpathpatterns(
"/**"
);
}
@bean
public
myinterceptor getmyinterceptor(){
return
new
myinterceptor();
}
}
|
如果需要添加多个拦截器,interceptorregistry registry.addinterceptor方法 。
1
2
3
4
5
|
public
interceptorregistration addinterceptor(handlerinterceptor interceptor) {
interceptorregistration registration =
new
interceptorregistration(interceptor);
this
.registrations.add(registration);
return
registration;
}
|
registrations是个数组结构,可以添加多个 。
3、自动义拦截器 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import
javax.servlet.http.httpservletrequest;
import
javax.servlet.http.httpservletresponse;
import
javax.servlet.http.httpsession;
import
org.slf4j.logger;
import
org.slf4j.loggerfactory;
import
org.springframework.web.method.handlermethod;
import
org.springframework.web.servlet.handler.handlerinterceptoradapter;
public
class
myinterceptor
extends
handlerinterceptoradapter {
final
logger logger = loggerfactory.getlogger(getclass());
@override
public
boolean
prehandle(httpservletrequest request, httpservletresponse response, object handler)
throws
exception {
//拦截操作
return
true
;
}
}
|
总结 。
以上所述是小编给大家介绍的springboot添加自定义拦截器的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。
原文链接:https://www.cnblogs.com/zwdx/archive/2018/09/19/9674497.html 。
最后此篇关于SpringBoot添加自定义拦截器的实现代码的文章就讲到这里了,如果你想了解更多关于SpringBoot添加自定义拦截器的实现代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我刚开始使用新的拦截方法,有一个基本问题,想知道如何在一个测试中链接下面的两个断言。 cy.intercept('GET', '/states').as('states'); cy.reload(tr
我有一个标签控件的自定义版本(使用用户控件构建)。在设计器中工作时,我想截取 Name 属性的设置(在属性面板中)并使用它来生成 Text 属性。也就是说,如果我在属性面板的 Name 属性中输入“l
嗨,我想通过 soapUI 解析 ssl soap 消息,而我试图通过 HttpMonitor 进行拦截它显示在异常下方 ERROR:Exception in request: javax.net.s
是否有可能从某个任意层拦截反向梯度,修改其值并继续反向传播回到网络的开始,根据您提供的修改后的梯度值更新所有先前层的反向梯度? 我知道你可以directly modify the gradients
我可以从什么 dll 中获得 Intercept 的扩展?我从 http://github.com/danielmarbach/ninject.extensions.interception 添加了
我有一个实现 onCreateOptionsMenu 方法的顶级 TabHost。我希望子 Activity (选项卡内的子 Activity )能够通过 onOptionsItemSelected
我在尝试反序列化 URL 时遇到此错误 Caused by: java.net.MalformedURLException: no protocol: www.boo.com at java.
首先,我是 Spring 的新手,这是我第一次尝试使用 Spring 编写基于 REST 的应用程序。 我计划在请求参数和响应中使用 Json。这让我想到两个问题。 有没有办法将 products="
在我基于 j_security_check 的登录表单中登录时一切正常。在这种情况下,我看到 JSESSIONID cookie 中的路径具有来自 URL 的值。但是当另一个登录页面构造动态表单(它正
我有一个我一直致力于下载文件的程序。一切正常,除非用户使用 AVG。奇怪的是,为了解决这个问题,似乎必须禁用 AVG 的“电子邮件保护”;将我的程序或 JRE 添加到异常(exception)列表不起
我正在寻找一种方法来挂接 SMSManager 或较低级别的机制,以便我可以在发送任何外发 SMS 消息之前拦截、读取和取消它们。 最佳答案 迟到总比不到好:) 我已经在这上面花了 2 天...并且不
我已成功拦截对 read() 的调用, write() , open() , unlink() , rename() , creat()但不知何故截获完全相同的语义stat()没有发生。我已经使用 L
阿里云ECS通过安全组屏蔽/拦截/阻断特定IP对云服务器的访问 所适用的场景: 通过安全组屏蔽、拦截、阻止特定IP对用户云服务器的访问,或者屏蔽IP访问服务器的特定端口。 配置的方法: 1、
我希望能够在类本身的构造函数中代理类的所有方法。 class Boy { constructor() { // proxy logic, do something before
使用 ajax 请求可以使用以下代码完成: let oldXHROpen = window.XMLHttpRequest.prototype.open; window.lastXhr = ''; wi
我想“拦截”/更改将 OData 与 Web API 一起使用时生成的 OData 查询..但我不完全确定如何“提取”生成的查询..我假设 OData 过滤器、扩展和更多一些如何生成某种表达式树或某种
当 JUnit 中的断言失败时,我想做一些“自己的事情”。我想要这个: public class MyAssert extends org.junit.Assert { // @Overrid
如何拦截 PartialFunction?例如在 Actor 中,如果我只想打印进入以下接收方法的所有内容,然后再将其传递给流程方法: class MyActor extends Actor {
我们正在使用 fluentvalidation(带有服务堆栈)来验证我们的请求 DTO。我们最近扩展了我们的框架以接受“PATCH”请求,这意味着我们现在需要仅在补丁包含要验证的字段时才应用验证。 我
我有一个作为 excel 插件运行的 WPF 应用程序,它有这样的可视化树 精益求精 元素主机 WPF 用户控件 WPF 色带条控件 现在,在 excel 中加载插件时,不会启用位于 WPF 功能区栏
我是一名优秀的程序员,十分优秀!