Path Matching

    你可以定制与路径匹配和处理 URL 有关的选项。关于各个选项的细节,请参见 PathMatchConfigurer javadoc

    下面的例子显示了如何在 Java 配置中自定义路径匹配:

    1. @Configuration
    2. @EnableWebMvc
    3. public class WebConfig implements WebMvcConfigurer {
    4. @Override
    5. public void configurePathMatch(PathMatchConfigurer configurer) {
    6. configurer
    7. .setPatternParser(new PathPatternParser())
    8. // addPathPrefix:它的功能是,给所有给定注解(如 @RestController)的控制器添加路径前缀,
    9. // 比如原始路径是 /demo/hello,添加下面这个配置之后,就必须使用 /api/demo/hello 访问
    10. .addPathPrefix("/api", HandlerTypePredicate.forAnnotation(RestController.class));
    11. }
    12. private PathPatternParser patternParser() {
    13. // ...
    14. }
    15. }

    下面是等效的 XML 配置

    1. <mvc:annotation-driven>
    2. <mvc:path-matching
    3. trailing-slash="false"
    4. path-helper="pathHelper"
    5. path-matcher="pathMatcher"/>
    6. </mvc:annotation-driven>
    7. <bean id="pathHelper" class="org.example.app.MyPathHelper"/>
    8. <bean id="pathMatcher" class="org.example.app.MyPathMatcher"/>