【发布时间】:2018-01-22 00:52:34
【问题描述】:
我想知道是否存在一种方法来检索与所提供的休息服务相关联的实际方法名称。假设我的 url 是 http://localhost:8080/v1/mytesturl 现在我想检索与该 url 关联的实际方法名称。
实际上,我们正在维护一些特定于我们创建的方法的键/值对,我需要根据使用这些值执行的方法名称进行一些检查。
请让我知道是否有办法做到这一点..
【问题讨论】:
标签: rest spring-boot
我想知道是否存在一种方法来检索与所提供的休息服务相关联的实际方法名称。假设我的 url 是 http://localhost:8080/v1/mytesturl 现在我想检索与该 url 关联的实际方法名称。
实际上,我们正在维护一些特定于我们创建的方法的键/值对,我需要根据使用这些值执行的方法名称进行一些检查。
请让我知道是否有办法做到这一点..
【问题讨论】:
标签: rest spring-boot
只需从Object 类中获取方法名。
@RestController
@RequestMapping("")
public class HomeController {
@RequestMapping("/mytesturl")
@ResponseBody
public String getMethodName() {
return new Object(){}.getClass().getEnclosingMethod().getName();
}
}
【讨论】:
我通过这个得到了解决方案
Map<RequestMappingInfo, HandlerMethod> handlerMethods = RequestMappingHandlerMapping.getHandlerMethods();
HandlerExecutionChain handler = RequestMappingHandlerMapping.getHandler(requestr);
HandlerMethod handler1 = null;
if(Objects.nonNull(handler)){
handler1 = (HandlerMethod) handler.getHandler();
handler1.getMethod().getName()
}
这为我提供了我想要的东西..
【讨论】: