要知道使用HttpServletRequest或HttpServletResponse对象调用了哪个Rest控制器方法,可以通过以下步骤进行:
@RequestMapping(value = "/example", method = RequestMethod.GET)
public void exampleMethod(HttpServletRequest request, HttpServletResponse response) {
// Rest控制器方法的逻辑代码
}
@RequestMapping(value = "/example", method = RequestMethod.GET)
public void exampleMethod(HttpServletRequest request, HttpServletResponse response) {
String requestURI = request.getRequestURI();
int responseStatus = response.getStatus();
// 打印请求的URI和响应的状态码
System.out.println("请求URI:" + requestURI);
System.out.println("响应状态码:" + responseStatus);
// Rest控制器方法的逻辑代码
}
@RequestMapping(value = "/example", method = RequestMethod.GET)
public void exampleMethod(HttpServletRequest request, HttpServletResponse response) {
String requestURI = request.getRequestURI();
int responseStatus = response.getStatus();
if (requestURI.equals("/example") && responseStatus == 200) {
// 调用了exampleMethod方法
} else if (requestURI.equals("/other") && responseStatus == 404) {
// 调用了其他方法
} else {
// 其他情况
}
// Rest控制器方法的逻辑代码
}
需要注意的是,以上方法只适用于单个Rest控制器类中的方法判断。如果需要在整个应用程序中判断,可以考虑使用拦截器或过滤器来实现。
领取专属 10元无门槛券
手把手带您无忧上云