개발/Spring
프로젝트의 모든 URI 가져오기
신매력
2012. 9. 4. 10:56
URI Logger 관리 때문에, 프로젝트 내의 모든 URI를 가져와야 했다.
@RequestMapping 어노테이션에 써놓았던 URI를 가져오려면....
거기 있는 URI들을 매핑해서 관리하는 클래스가 있다.
@Autowired private ApplicationContext ac; .... RequestMappingHandlerMapping mapping = ac.getBean(RequestMappingHandlerMapping.class); Map<RequestMappingInfo, HandlerMethod> map = mapping.getHandlerMethods(); |
Application Context가 가지고 있는 bean중에
RequestMappingHandlerMapping 클래스가 uri 정보를 들고 있다.
위 소스 처럼 map으로 저장해놓고,
Key 안에 uri가 들어있으니...
RequestMappingInfo 클래스에서 꺼내쓰면 된다.
이터레이터 돌리고~
Key만 뽑아 낸 뒤에.
RequestMappingInfo.getPatternsCondition().getPatterns(); 를 하면
Set<String> 형태로 uri들을 뽑아낼 수 있다.
- RequestMappingInfo 레퍼런스
- PatternsRequestCondition 레퍼런스