如何在春季显示所有可用路线?
Posted
技术标签:
【中文标题】如何在春季显示所有可用路线?【英文标题】:How to show all available routes in Spring? 【发布时间】:2011-04-10 19:33:27 【问题描述】:如何显示在基于 Spring 的应用程序中映射的所有路由?在 Rails 中,这是使用 rake 路由完成的。
我使用 spring 的两种映射方法来创建 URL 映射:
@RequestMapping
SimpleUrlHandler
我已经使用Unix命令grep
和cut
来获取@RequestMapping
的所有映射。我想知道是否有某种方法可以从 Spring 应用程序中获取这些详细信息。
【问题讨论】:
【参考方案1】:如果您将 log4j.logger.org.springframework.web
的 Log4J 类别设置为 INFO
或 DEBUG
,您应该会在应用启动时在服务器日志中看到映射列表(例如 catalina.out
)。
例如:
INFO: DefaultAnnotationHandlerMapping: Mapped URL path [/about] onto handler [org.bozos.songfight.webapp.spring.controller.RootController@6bc947]
INFO: DefaultAnnotationHandlerMapping: Mapped URL path [/about.*] onto handler [org.bozos.songfight.webapp.spring.controller.RootController@6bc947]
INFO: DefaultAnnotationHandlerMapping: Mapped URL path [/about/] onto handler [org.bozos.songfight.webapp.spring.controller.RootController@6bc947]
...
INFO: SimpleUrlHandlerMapping: Mapped URL path [/login] onto handler [org.springframework.web.servlet.mvc.UrlFilenameViewController@4035acf6]
【讨论】:
在我的情况下,上述属性不起作用,我必须将logging.level.org.springframework.web
设置为 DEBUG
啊,是的,这就是使用Spring boot时的做法。我的答案是专门针对在没有 Spring Boot 的情况下使用 Spring Framework 以及直接配置 Log4J 而不是通过 Spring Boot。【参考方案2】:
如果您使用的是 Intellij(终极版),那么在构建/运行项目后,您可以在底部工具栏中查看路由 Run
-> Endpoints
-> Mappings
。
【讨论】:
值得注意的是,如果在运行 Spring Boot 应用程序时看不到映射选项卡,那么您可能需要执行以下操作: 1- 启用 MVC Spring 插件(如果尚未启用), 2- 将执行器添加到您的依赖项 mvnrepository.com/artifact/org.springframework.boot/… 执行器的 maven 依赖项 有没有办法用命令行打印出路线?以上是关于如何在春季显示所有可用路线?的主要内容,如果未能解决你的问题,请参考以下文章