Стандарт C11 добавляет ключевое слово _Static_assert
.
Это реализовано с gcc-4.6 :
_Static_assert (0, "assert1"); /* { dg-error "static assertion failed: \"assert1\"" } */
Первый слот должен быть интегральное постоянное выражение. Второй слот - это строковый литерал, который может быть длинным (_Static_assert(0, L"assertion of doom!")
).
Следует отметить, что это также реализовано в последних версиях clang.
Вы блокированы политикой 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"))
должна помочь, вы также можете использовать опцию*
, чтобы разрешить все методы, или настроить его под свои нужды.