Spring Framwork의 Controller에 정의되어 있는 모든 RequestMapping의 정보를 추출이 필요할 때가 있다.
이 경우 간단한 Controller를 생성하여 정보를 추출할 수 있다.
import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.method.RequestMappingInfo; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; import com.lgcns.spring.base.BaseController; import com.lgcns.spring.base.BaseMap; @Controller public class RequestController extends BaseController{ @Autowired private RequestMappingHandlerMapping handlerMapping; @RequestMapping(value = "/endPoint.do", method=RequestMethod.POST) @ResponseBody public List getEndPoints(Model model) throws Exception { List result = new ArrayList(); for (RequestMappingInfo key : handlerMapping.getHandlerMethods().keySet()) { BaseMap map = new BaseMap(); map.put("name", key.getName()); map.put("path", key.getPatternsCondition()); map.put("methods", key.getMethodsCondition()); map.put("consumes", key.getConsumesCondition()); map.put("produces", key.getProducesCondition()); map.put("params", key.getParamsCondition()); map.put("headers", key.getHeadersCondition()); map.put("custom", key.getCustomCondition()); result.add(map); } return result; } } |
RequestMappingHandlerMapping를 이용하여 Mapping 정보를 추출한 후 Json형식으로 화면에 보여주고 있다.
'Spring Framrwork' 카테고리의 다른 글
Spring MVC 테스트 자동화 및 커버리지 분석 (0) | 2020.05.08 |
---|---|
Mybatis TypeHandler를 이용한 Password 암호화 (0) | 2020.03.03 |
Spring Transaction Simulation 기능 (0) | 2020.03.03 |
Mybatis SQL Logging (0) | 2019.04.28 |
Spring Framework Custom Annotation 만들기 (0) | 2018.09.12 |