Spring引导-使用?WSDL下载WSDL

Spring引导-使用?WSDL下载WSDL,spring,web-services,spring-boot,Spring,Web Services,Spring Boot,我使用SpringBoot创建了一个Web服务,使用了在我尝试下载wsdl时定义的步骤,我必须在url中使用.wsdl。但是,当我使用?wsdl时,wsdl不会被下载。当我在url中使用?wsdl时,如何重写url以下载wsdl?我使用此筛选器能够访问Spring样式的wsdl.wsdl以及?wsdl: public class WsdRequestCompatibilityFilter extends OncePerRequestFilter { @Override prot

我使用SpringBoot创建了一个Web服务,使用了在我尝试下载wsdl时定义的步骤,我必须在url中使用.wsdl。但是,当我使用?wsdl时,wsdl不会被下载。当我在url中使用?wsdl时,如何重写url以下载wsdl?

我使用此筛选器能够访问Spring样式的wsdl
.wsdl
以及
?wsdl

public class WsdRequestCompatibilityFilter extends OncePerRequestFilter {

    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
        if ("GET".equals(request.getMethod()) && "wsdl".equalsIgnoreCase(request.getQueryString())) {
            request.getSession().getServletContext().getRequestDispatcher(request.getRequestURI() + ".wsdl").forward(request, response);
        } else {
            filterChain.doFilter(request, response);
        }
    }
}
您需要将其注册为名为
wsdlRequestCompatibilityFilter
,并将以下配置添加到
web.xml

<filter>  
    <filter-name>wsdlRequestCompatibilityFilter</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>wsdlRequestCompatibilityFilter</filter-name>
    <url-pattern>/ws/*</url-pattern>
</filter-mapping>

wsdlRequestCompatibilityFilter
org.springframework.web.filter.DelegatingFilterProxy
wsdlRequestCompatibilityFilter
/ws/*

谢谢!有没有办法在Spring中使用注释实现这一点?没有,恐怕无法配置。您可以用Java编写代码: