[SPRING] 모든 컨트롤러와 매핑을보기에 표시하는 방법
SPRING모든 컨트롤러와 매핑을보기에 표시하는 방법
나는 표준 MVC 프로젝트가 없다. XML로 응답하기. 허용되는 모든 컨트롤러, 매핑 및 매개 변수를 표시하는보기 (JSP 페이지)를 만들 수 있습니까 (필수 여부).
답변을 기반으로, 나는 가지고있다 :
@RequestMapping(value= "/endpoints", params="secure", method = RequestMethod.GET)
public @ResponseBody
String getEndPointsInView() {
String result = "";
for (RequestMappingInfo element : requestMappingHandlerMapping.getHandlerMethods().keySet()) {
result += "<p>" + element.getPatternsCondition() + "<br>";
result += element.getMethodsCondition() + "<br>";
result += element.getParamsCondition() + "<br>";
result += element.getConsumesCondition() + "<br>";
}
return result;
}
@RequestParam의 정보가 없습니다.
해결법
-
==============================
1.Spring 3.1에서 RequestMappingHandlerMapping을 사용하면 쉽게 끝점을 찾아 볼 수 있습니다.
Spring 3.1에서 RequestMappingHandlerMapping을 사용하면 쉽게 끝점을 찾아 볼 수 있습니다.
컨트롤러 :
@Autowire private RequestMappingHandlerMapping requestMappingHandlerMapping; @RequestMapping( value = "endPoints", method = RequestMethod.GET ) public String getEndPointsInView( Model model ) { model.addAttribute( "endPoints", requestMappingHandlerMapping.getHandlerMethods().keySet() ); return "admin/endPoints"; }
보기 :
<%@ page session="false" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head><title>Endpoint list</title></head> <body> <table> <thead> <tr> <th>path</th> <th>methods</th> <th>consumes</th> <th>produces</th> <th>params</th> <th>headers</th> <th>custom</th> </tr> </thead> <tbody> <c:forEach items="${endPoints}" var="endPoint"> <tr> <td>${endPoint.patternsCondition}</td> <td>${endPoint.methodsCondition}</td> <td>${endPoint.consumesCondition}</td> <td>${endPoint.producesCondition}</td> <td>${endPoint.paramsCondition}</td> <td>${endPoint.headersCondition}</td> <td>${empty endPoint.customCondition ? "none" : endPoint.customCondition}</td> </tr> </c:forEach> </tbody> </table> </body> </html>
RequestMappingHandlerMapping 대신 DefaultAnnotationHandlerMapping을 사용하여 Spring <3.1에서도이 작업을 수행 할 수 있습니다. 그러나 당신은 같은 수준의 정보를 가지지 않을 것입니다.
DefaultAnnotationHandlerMapping을 사용하면 메서드에 대한 정보가 없으면 끝점 경로 만 사용하고, 매개 변수를 사용합니다.
from https://stackoverflow.com/questions/9766800/how-to-show-all-controllers-and-mappings-in-a-view by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] autowired 종속성의 주입이 실패했습니다. (0) | 2018.12.23 |
---|---|
[SPRING] Spring REST Service : json 응답에서 null 객체를 제거하도록 구성하는 방법 (0) | 2018.12.23 |
[SPRING] jpa / hibernate가있는 Spring에서 초기화 지연 예외를 피하기 위해 세션을 어떻게 열어 두어야합니까? (0) | 2018.12.23 |
[SPRING] 해결 스프링 : i18n 국제화를위한 javascript의 메시지 (0) | 2018.12.23 |
[SPRING] 스프링 보안 사용자 정의 필터 (비밀번호 변경) (0) | 2018.12.23 |