java - 使用 MockMvc 自定义 RequestMappingHandlerMapping

标签 java spring-mvc spring-test spring-test-mvc spring-mvc-test

我有一个自定义 RequestMappingHandlerMapping 类,它将特殊注释解释为其映射标准的一部分。它被实例化为一个 bean:

@Configuration
@EnableWebMvc
public class ConfigServletConfig extends WebMvcConfigurerAdapter {
    @Bean
    public RequestMappingHandlerMapping requestMappingHandlerMapping() {
        RequestMappingHandlerMapping handlerMapping = new VersionRangeRequestMappingHandlerMapping();
        handlerMapping.setOrder(0);
        return handlerMapping;
    }
}

但是当我创建一个 MockMvc 对象进行测试(使用standaloneSetup)时,这个映射处理程序没有被使用。如果不考虑额外的注释,映射就会失败,因为我有多个具有相同 @RequestMapping 的 Controller 方法。注释是它们的区别所在。

如何配置 MockMvc 以使用此自定义映射处理程序?

最佳答案

How can I configure MockMvc to use this custom mapping handler?

从 Spring Framework 4.3.x 开始,目前无法使用 standaloneSetup() 构建器为 MockMvc 注册自定义 RequestMappingHandlerMapping .

但是,团队正在考虑在 Spring Framework 5.0 中添加此类支持。

参见SPR-15472了解更多详情。

关于java - 使用 MockMvc 自定义 RequestMappingHandlerMapping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43102003/

相关文章:

Java CHM 同步

rest - 默认 JSON 到对象映射不起作用

spring - Spring MVC <错误页面>不起作用

java - MultipartFile#getContentType 在 Spring 集成测试期间返回 null

java - SpringWS Junit测试异常: No endpoint can be found for request [SaajSoapMessage

java - Spring用非主bean覆盖主bean

java - 如何使用 Struts validator 使用字段组合来验证日期

java内部类方法访问

java - 为什么我的类不可序列化?

java - Grails Spring Security 核心 - 自定义用户信息?