![](/img/trans.png)
[英]Spring oauth intercept rest api calls and forward from one interceptor
[英]How to intercept the request from Spring Interceptor to Node Service
這是我想要做的:
8765
。 我只使用這個8765
調用其他服務 registry.addInterceptor(tokenValidateInterceptor()).addPathPatterns("/**");
的原因registry.addInterceptor(tokenValidateInterceptor()).addPathPatterns("/**");
對我來說,showstopper是API-GATEWAY中的攔截器。我在這里觀察到一個我想提到的奇怪場景
如果Node.js服務停止攔截器工作正常。但是如果Node.js服務正在運行它甚至沒有執行攔截器 ,但調用是通過API-GATEWAY進行的,我從Node.js服務獲得了必需的響應。
這是我的代碼片段:
@EnableEurekaClient
@SpringBootApplication
@EnableZuulProxy
@Configuration
public class Application extends WebMvcConfigurerAdapter {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Autowired
private TokenValidateInterceptor tokenValidateInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(tokenValidateInterceptor).addPathPatterns("/**");
}
攔截器
@Component
public class TokenValidateInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
LOG.info("#### Starting TokenValidateInterceptor.preHandle ####");
String apiKey = null;
try {
apiKey = request.getHeader("apikey");
LOG.info("The request come with apikey ======" + apiKey);
LOG.info("Actual apikey ======" + azureApikey);
}
建議更改或告訴我如果我實施了錯誤。
嘗試以下配置。 它應該工作。
@Configuration
public class MyConfiguration extends WebMvcConfigurerAdapter{
@Override
public void addInterceptors(InterceptorRegistry registry){
registry.addInterceptor(new MyCustomInterceptor()).addPathPatterns("/**");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.