当前位置: 首页 > 面试题库 >

HandlerMethod给出了HttpRequest吗?

幸鸿轩
2023-03-14
问题内容

我有一个拦截器,我想在其中基于控制器方法(而不是在控制器类上)的注释做一些拦截逻辑。假设只想限制某些用户对该控制器方法的访问。有什么方法可以在HandlerInterceptor中获取Handler方法(不是处理程序类)吗?


问题答案:

恐怕不是。您必须将所需的方法分组在一个(或几个)类中,然后根据该类而不是方法进行检查。

我猜您可以自己解析注释并匹配路径,或者尝试查看spring在其类中所做的工作,但这会更复杂且容易出错。

您可以尝试(但我没有使用过它,所以我不知道它是否有效)@Interceptors方法上的注释(在此处看到)



 类似资料:
  • 当使用Akka HttpRequest将请求发送给一个actor时,我无法识别响应。actor将处理收到的每条消息,但它不知道哪个请求用于获得该响应。有什么方法可以识别每个请求并匹配响应呢? 注意:我没有服务器来再次发送请求体的任何部分。 预先感谢

  • 原因:org.springframework.beans.beanInstantiationException:无法实例化[org.springframework.boot.web.servlet.FilterRegistrationBean]:工厂方法“Createyadayada Filter”引发异常;嵌套异常是org.springframework.beans.factory.beanDe

  • 我无法解决这个问题。我有一个应用程序。 用 使用以下注释的测试类: 更多的StackTrace: 原因:org.springframework.beans.beanInstantiationException:无法实例化[org.springframework.boot.web.servlet.FilterRegistrationBean]:工厂方法“Createyadayada Filter”引

  • 问题内容: 在处理Swift时,我注意到当64位整数溢出时,出现以下错误: file:///Users/user/Documents/playground/MyPlayground.playground/:错误:操场执行中止:执行被中断,原因:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)。 第一次调用(即使用92作为参数)将运行良好。但是,当提供

  • 我试图使用hashlib对字节数组进行散列,但是我无法使散列与我期望的匹配(通过在线SHA256函数确认答案)。 我是这样做的: 在执行哈希之前,我打印出输入数据的十六进制摘要: 我做错了什么?

  • 无论我尝试什么,发送给dispatcher servlet的请求都会返回HTTP 415错误。请求中将内容类型设置为application/json。 消息转换器似乎没有将请求映射到对象。 我的POM中有所有Jackson依赖项: 控制器类: 我试图在@刚需映射中添加接受、消费、生产,但没有成功。 我可以使用HttpServletRequest作为方法参数获得正确的JSON响应: 这一个在写入系统