Вы должны достичь своей цели, если добавите звездочки (*) после текущей спецификации antMatcher.
По определению:
Сопоставление сопоставляет URL-адреса с использованием следующих правил:
- ?соответствует одному символу
- * соответствует нулю или более символов
- ** соответствует нулю или более каталогов в пути
- {spring: [az] +} соответствует регулярному выражению [az] + как переменная пути с именем «spring»
Важный фрагмент кода может выглядеть следующим образом:
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/api/v1/something*");
}
Вы также можете добиться того же, используядругой перегруженный метод конфигурации с параметром типа HttpSecurity
для конфигураций безопасности, связанных с путями, который будет выглядеть следующим образом:
@Override
public void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/api/v1/something*").permitAll();
}
Как указано в определении, вы также можете пойти еще дальше и разрешить все, что нижепуть при завершении вашего AntMatcher с помощью /**
.Но это действительно зависит от вашего варианта использования.Для подробностей реализации смотрите Spring AntPathRequestMatcher
Ваше соответствующее отображение запроса должно выглядеть следующим образом (пример с @GetMapping).Важно, чтобы на вашем пути не было трейлинга /
.
@GetMapping("/api/v1/something")
public ResponseEntity<String> getSomething(@RequestParam(value = "xyz", required = false) String xyz){
return ResponseEntity.ok("Called with xyz param: " + xyz);
}