Вы блокированы политикой CORS, потому что вы никогда не говорили Spring, что ей нужно разрешить PUT запросов:)
На данный момент вы только что разрешили GET, HEAD и POST [ 1117], как упоминалось в документах для CorsConfiguration.applyPermitDefaultValues()
:
Следующие значения по умолчанию применяются, если они еще не установлены:
Разрешить все источники.
Разрешить «простые» методы GET, HEAD и POST.
Разрешить все заголовки.
Установите максимальный возраст 1800 секунд (30 минут).
blockquote>Вы можете увеличить свою конфигурацию еще на несколько строк:
@Bean public CorsConfigurationSource corsConfigurationSource() { CorsConfiguration config = new CorsConfiguration(); config.setAllowedOrigins(Arrays.asList("*")); config.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS")); -- Define which methods are allowed to pre-flight config.setAllowedHeaders(Arrays.asList("my-allowed-headers")); config.setExposedHeaders(Arrays.asList("my-exposed-headers")); UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource(); configSource.registerCorsConfiguration("/**", config); return configSource; }
config.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"))
должна помочь, вы также можете использовать опцию*
, чтобы разрешить все методы, или настроить его под свои нужды.
Можно все еще нажать кнопку отключения звука на средстве моделирования, как будто это было физическое устройство: