Spring 数据剩余拦截器不适用于 CustomController
Spring Data Rest Interceptor not working for CustomController
我有一个 spring 数据 REST 应用程序,我在其中添加了一个用于身份验证和授权的拦截器。
private static final boolean IS_JPA_AVAILABLE = ClassUtils.isPresent("javax.persistence.EntityManager",
RepositoryRestMvcConfiguration.class.getClassLoader());
@Override
public JpaHelper jpaHelper() {
if (IS_JPA_AVAILABLE) {
JpaHelper helper = new JpaHelper();
helper.getInterceptors().add(new MyInterceptor());
return helper;
} else {
return null;
}
}
在这个应用程序中,我的控制器也很少。其中一些是@RepositoryRestController,其他是@BasePathAwareController。当请求到达这些控制器时,我想调用拦截器。对于 @RepositoryRestController 拦截器被调用,但对于 @BasePathAwareController 拦截器被绕过。
我怎样才能让这个拦截器被两个控制器调用 类?
此问题已通过添加映射拦截器解决(感谢 llya 的输入)。在配置 class 中,我添加了以下映射拦截器。以这种方式,所有到达任何控制器的请求都会被调用。
@Bean
public MappedInterceptor myMappedInterceptor() {
return new MappedInterceptor(new String[]{"/**"}, getSecurityInterceptor());
}
参考
我有一个 spring 数据 REST 应用程序,我在其中添加了一个用于身份验证和授权的拦截器。
private static final boolean IS_JPA_AVAILABLE = ClassUtils.isPresent("javax.persistence.EntityManager",
RepositoryRestMvcConfiguration.class.getClassLoader());
@Override
public JpaHelper jpaHelper() {
if (IS_JPA_AVAILABLE) {
JpaHelper helper = new JpaHelper();
helper.getInterceptors().add(new MyInterceptor());
return helper;
} else {
return null;
}
}
在这个应用程序中,我的控制器也很少。其中一些是@RepositoryRestController,其他是@BasePathAwareController。当请求到达这些控制器时,我想调用拦截器。对于 @RepositoryRestController 拦截器被调用,但对于 @BasePathAwareController 拦截器被绕过。 我怎样才能让这个拦截器被两个控制器调用 类?
此问题已通过添加映射拦截器解决(感谢 llya 的输入)。在配置 class 中,我添加了以下映射拦截器。以这种方式,所有到达任何控制器的请求都会被调用。
@Bean
public MappedInterceptor myMappedInterceptor() {
return new MappedInterceptor(new String[]{"/**"}, getSecurityInterceptor());
}
参考