要在 Spring 2.0 Controller 方法中获取当前 Servlet 上下文中映射的所有 URL,可以使用以下方法:
RequestMappingHandlerMapping
类型的 bean,该类型负责处理 Spring MVC 中的请求映射。RequestMappingHandlerMapping
的 getHandlerMethods()
方法获取所有映射的方法。HandlerMethod
对象,获取每个方法的 RequestMappingInfo
对象,该对象包含了请求映射的详细信息,如 URL、HTTP 方法等。示例代码如下:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
import java.util.Set;
@Configuration
public class MappingConfiguration implements WebMvcConfigurer {
@Autowired
private RequestMappingHandlerMapping requestMappingHandlerMapping;
public Set<RequestMappingInfo> getAllMappings() {
return requestMappingHandlerMapping.getHandlerMethods().keySet();
}
}
在这个示例中,我们创建了一个名为 MappingConfiguration
的配置类,该类实现了 WebMvcConfigurer
接口,并使用 @Autowired
注解注入了 RequestMappingHandlerMapping
类型的 bean。我们还实现了一个名为 getAllMappings()
的方法,该方法返回一个包含所有映射信息的 Set<RequestMappingInfo>
集合。
通过这种方式,您可以在 Spring 2.0 Controller 方法中获取当前 Servlet 上下文中映射的所有 URL。
领取专属 10元无门槛券
手把手带您无忧上云