I am using spring boot for creating microservices. I need to implement request scope beans as I get some information in header and need this to be available across all the classes for that particular request. Below is what I did, but I get null pointer error.
@Component
@RequestScope(proxyMode = ScopedProxyMode.TARGET_CLASS)
public Class RequestHeaderInfo {
private String appInfo;
...
}
@Component
public class RequestFilter implements Filter {
@Autowired
private RequestHeaderInfo requestHeaderInfo;
public void doFilter(ServletRequest req,....) {
HTTPServletRequest request = (HTTPServletRequest) req;
requestHeaderInfo.setAppInfo(request.getHeader("appInfo")) //throws null pointer error here
....
}
}
@Contoller
public class RestController {
@Autowired
private RequestHeaderInfo requestHeaderInfo;
}
I want this request header info object to be available throughout the particular request. In my filter class it throws null pointer error. Am I on the right track implementing request scoped bean?