我想在应用程序启动时(Spring MVC,log4j)在日志中列出所有已注册的请求映射。理想情况下,我想为每个条目查看两件事:URL 和相应的控制器方法。
我尝试了什么:我在相应的文档条目中搜索但没有成功。
我想在应用程序启动时(Spring MVC,log4j)在日志中列出所有已注册的请求映射。理想情况下,我想为每个条目查看两件事:URL 和相应的控制器方法。
我尝试了什么:我在相应的文档条目中搜索但没有成功。
请查看这篇博文以获取有关如何在应用程序中记录 Spring MVC 映射的更多信息,源博文。
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.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
@Controller
public class EndpointDocController {
private final RequestMappingHandlerMapping handlerMapping;
@Autowired
public EndpointDocController(RequestMappingHandlerMapping handlerMapping) {
this.handlerMapping = handlerMapping;
}
@RequestMapping(value = "/endpointdoc", method = RequestMethod.GET)
public void show(Model model) {
model.addAttribute("handlerMethods",
this.handlerMapping.getHandlerMethods());
}
}
看起来从 Spring 3.1 开始,您需要为org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(...)
.