Конфигурация Spring Global CORS не работает, но конфигурация уровня контроллера делает

Я пытаюсь настроить CORS глобально черезWebMvcConfigurerAdapter показано ниже. Чтобы проверить, ударил ли я по моей конечной точке API через приложение для небольших узлов, которое я создал для эмуляции внешнего сервиса. Когда я пытаюсь использовать этот подход, ответ не содержит правильных заголовков и завершается с

XMLHttpRequest cannot load http://localhost:8080/api/query/1121. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:333' is therefore not allowed access.

Глобал Конфиг

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/api/query/**")
                    .allowedOrigins("*")
                    .allowedHeaders("*")
                    .allowCredentials(true);
        }
}

Однако, когда я использую@CrossOrigin аннотации вроде так, это работает просто отлично, отвечая с соответствующими заголовками.

@CrossOrigin(origins = "*", allowCredentials = "true", allowedHeaders = "*")
@RestController
@RequestMapping(value = "/api/query", produces = MediaType.APPLICATION_JSON_VALUE)
public class QueryController {
   ......
}

Производит

Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://localhost:333

Чего мне не хватает, чтобы заставить работать глобальный конфиг (следуйте инструкциям здесьhttps://spring.io/blog/2015/06/08/cors-support-in-spring-framework). Я чувствую, что упускаю что-то простое, поскольку аннотирование контроллера работает просто отлично.

Ответы на вопрос(6)

Ваш ответ на вопрос