У меня есть объект конфигурации, который сопоставлен с файлом конфигурации, как показано ниже:
@Data
@Component
@ConfigurationProperties("app.cors")
public class DomainProperties {
private Map<String, String> domainMap;
}
и мой файл application.properties выглядит следующим образом:
app.cors.domainMap.local=localhost:8080
app.cors.domainMap.onlive=test.com
Я пытаюсь прочитать значения в domainMap из вышеуказанного файла свойств, чтобы установить их в качестве заголовков Access-Control-Allow-Origin для ответа моего приложения. То, что я сделал до сих пор:
public class HeaderInterceptor extends HandlerInterceptorAdapter {
@Autowired
private DomainProperties domainProperties;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
List<String> domainList= domainProperties.getDomainMap().values().stream().collect(Collectors.toList());
domainList.stream().forEach(domain -> response.addHeader("Access-Control-Allow-Origin", domain));
return super.preHandle(request, response, handler);
}
но проблема в том, что я получил обратно null domainProperties объект, поэтому здесь выдается исключение NullPointerException.
Может кто-нибудь объяснить мне, почему я получил здесь null domainProperties объект? и как решить эту проблему. Спасибо заранее!