如何显示基于弹簧的应用程序中映射的所有路径?在Rails中,这是使用rake路由完成的.
我使用spring的两种映射方法来创建URL映射:
@RequestMappingSimpleUrlHandler我使用了Unix命令grep并cut获取了所有的映射@RequestMapping.我想知道是否有一些方法可以从Spring应用程序中获取这些细节.
sdo*_*ass 12
如果您将Log4J类别设置为log4j.logger.org.springframework.web,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]
Run Code Online (Sandbox Code Playgroud)
如果使用的是Intellij(最终版),则在构建/运行项目后,可以在底部的工具栏Run-> Endpoints->中查看路线Mappings。
这可以通过 spring-boot-starter-web:2.6.5 来完成,它使用 spring-webmvc:5.3.17。
将此配置添加到您的 application.yml (或类似的):
logging:
level:
_org.springframework.web.servlet.HandlerMapping.Mappings: debug
Run Code Online (Sandbox Code Playgroud)
记录器名称中的下划线“_”很重要。
此属性将在应用程序启动期间生成如下所示的日志

该属性引用 spring-webmvc:5.3.17 的 org.springframework.web.servlet.handler。AbstractHandlerMapping为映射创建一个隐藏的记录器

该记录器在AbstractHandlerMethodMapping子类的方法detectorHandlerMethods ()中使用

看起来这项技术最早可以追溯到 spring-webmvc 5.3.5(2021 年 3 月):
Github Spring Framework Release 5.3.5
以下是包含更改的提交:
Github Spring Framework commit withchanges forlogging paths
| 归档时间: |
|
| 查看次数: |
9406 次 |
| 最近记录: |