У меня есть контроллер пружины, подобный следующему:
@Controller
@RequestMapping("/tickets")
public class TicketWeb {
@GetMapping("/{ticketNo}")
...
@GetMapping("/a")
@GetMapping("/b")
@PostMapping("/c")
//maybe more fixed path mapping
}
В этом контроллере у меня есть один path variable
как /{ticketNo}
, другие имеют фиксированный путь.
с apache Широ, я хочу annon
только для переменной пути, все остальные фиксированные пути authc
.
Согласно apache Широ до c, кажется, что есть только два решения для достижения моей цели :
опция 1 :
filterChainDefinitionMap.put("/tickets/a","authc");
filterChainDefinitionMap.put("/tickets/b","authc");
filterChainDefinitionMap.put("/tickets/c","authc");
filterChainDefinitionMap.put("/tickets/*","annon");
, для которой fixed path
установлено authc
одно за другим, path variable
установлено annon
, но это нехорошо, потому что, возможно, есть некоторые fixed path
или добавьте еще fixed path
в будущем.
опция 2 - это изменение переменной пути /{ticketNo}
на другую, например /annon/{ticketNo}
, чтобы отличить guish фиксированный путь, так что разработчик может установить
filterChainDefinitionMap.put("/tickets/annon/*","annon");
filterChainDefinitionMap.put("/tickets/*","authc");
только с двумя строками.
Таким образом, есть только эти два решения для реализации моей цели, я Я прав?