程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何仅将筛选器注册到一个@RequestMapping方法?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何仅将筛选器注册到一个@RequestMapping方法??

开发过程中遇到如何仅将筛选器注册到一个@RequestMapping方法?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何仅将筛选器注册到一个@RequestMapping方法?的解决方法建议,希望对你解决如何仅将筛选器注册到一个@RequestMapping方法?有所启发或帮助;

您需要FilterRegistrationBean指定URL映射。参考指南中也提到了这一事实。

@Bean
public Filter loggingFilter() {
    CommonsRequestLoggingFilter filter = new CommonsRequestLoggingFilter();
    filter.setIncludequeryString(true);
    filter.setIncludePayload(true);
    filter.setMaxPayloadLength(5120);
    return filter;
}

在过滤器定义旁边添加FilterRegistrationBean

@Bean
public FilterRegistrationBean loggingFilterRegistration() {
    FilterRegistrationBean registration = new FilterRegistrationBean(loggingFilter());
    registration.addUrlPatterns("/rest/my/specific/method/*");
    return registration;
}

这会将过滤器附加到指定的URL。另请注意,UrlPatterns根URL内的are模式。因此,如果您的应用程序映射在/rest此过滤器上,则不会被调用。

解决方法

我注册了以下过滤器用于常规内容记录:

@Bean
public Filter getLoggingFilter() {
    CommonsRequestLoggingFilter filter = new CommonsRequestLoggingFilter();
    filter.setIncludeQueryString(true);
    filter.setIncludePayload(true);
    filter.setMaxPayloadLength(5120);
    return filter;
}

该过滤器可以捕获任何请求。

现在,我只想将此过滤器应用于一种特定的@RequestMapping方法。

问题:那有可能吗?

更新 :访问路径时,以下filterbean结果为404。

@Bean
public FilterRegistrationBean getLoggingFilter() {
    FilterRegistrationBean filter = new FilterRegistrationBean(new CommonsRequestLoggingFilter());
    filter.addUrlPatterns("/rest/my/specific/method/*");
    return filter;
}

大佬总结

以上是大佬教程为你收集整理的如何仅将筛选器注册到一个@RequestMapping方法?全部内容,希望文章能够帮你解决如何仅将筛选器注册到一个@RequestMapping方法?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: