如何通过URL在源代码中找到Spring-mapped方法?

时间:2017-08-31 14:38:44

标签: java spring eclipse spring-mvc

我正在调试一个使用Spring的项目,一个在线银行网站后端。通常,我必须在错误报告中找到的是要点击哪些按钮来重现错误。在浏览器开发控制台中,我会看到请求URL和响应。然后,我必须以某种方式找到映射到该URL的方法并开始调试。

令我烦恼的是,Eclipse的搜索功能(或者我使用它们的能力)还有很多不足之处。我似乎无法找到具有一个特定映射的方法,例如https://ourcompany.com/ourapp/delegate/rest/account/foo/info 使用,我串搜索“/ info”或“/ foo”或“foo / info”,并得到很少的结果。所有的eclipse都会找到一些包含字符串的无关文件然后打开它,然后在它下面显示(折叠)一堆项目文件夹,我想这里还包含其中包含字符串的文件。

是否有一些更精简的方法来做到这一点?我在搜索中遗漏了一些小而重要的东西吗?如何轻松找到映射到URL的方法,例如示例中的方法?

2 个答案:

答案 0 :(得分:1)

您可以尝试在

中设置断点
 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter

参见方法

@Override
public final ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws Exception {

    return handleInternal(request, response, (HandlerMethod) handler);
}

这里你有一个处理器对象,它保持你需要的类。不确定它在100%的情况下是否有效。

答案 1 :(得分:0)

假设您正在使用注释,应该很容易找到控制器只搜索Java类文件。我会从搜索帐户控制器开始。在这里,我相信你会找到一个映射到" {id} / info"的方法。这应该是你正在寻找的东西。

作为旁注,如果您正在寻找更全面的功能集,可能需要考虑IntelliJ。我每天都使用它来处理Java,Spring,Struts和Web文件,它可以轻松地编制索引并轻松查找结果。