に注入されていませんが、私はこのような私の春ブートアプリケーションでresttemplateを作成しました。しかし、私のインターセプターでは、これはnullpointer例外をスローします。春の雲Resttemplateが迎撃
私のインターセプタにloadbalanced(リボンを使用して)resttemplateを設定する理由は何でしょうか?
更新:
私の迎撃は:
public class MyInterceptor implements HandlerInterceptorAdapter {
@Autowired
RestTemplate restTemplate;
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler)
throws Exception {
HttpHeaders headers = new HttpHeaders();
...
HttpEntity<String> entity = new HttpEntity<String>(headers);
//restTemplate is null here
ResponseEntity<String> result =
restTemplate.exchange("<my micro service url using service name>",
HttpMethod.POST, entity, String.class);
...
return true;
}
インターセプタは、このような春のブートアプリケーションに追加されます。
@Configuration
public class MyConfigAdapter extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/*");
}
}
あなたのインターセプタについての詳細をご提示ください。答えが足りない情報があります。 – spencergibb
@spencergibb、私のコードを追加しました。インターセプターに新しいRestTemplate(負荷分散されていない)を作成し、サービス名の代わりに「マイマイクロサービスのURLとポート番号」を使用すると正常に動作することが確認できます。 – Jayz