gpt4 book ai didi

spring - 配置 Spring MockMvc 以在内置参数解析器之前使用自定义参数解析器

转载 作者:行者123 更新时间:2023-12-04 13:47:57 25 4
gpt4 key购买 nike

我有一个简单的测试用例。我有一个 Controller ,它有一个 Spring 默认不支持的类型的参数,所以我写了一个自定义解析器。

我创建了我正在使用的模拟 mvc 实例,如下所示:

mvc = MockMvcBuilders.standaloneSetup(controller).setCustomArgumentResolvers(new GoogleOAuthUserResolver()).build();

然而,Spring 还注册了近 30 个其他参数解析器,其中一个足够通用,它已经习惯于在我的之前解决参数。如何设置或排序解析器以便首先调用我的解析器?

最佳答案

这对我有用,没有反射(reflection):

@RequiredArgsConstructor
@Configuration
public class CustomerNumberArgumentResolverRegistration {

private final RequestMappingHandlerAdapter requestMappingHandlerAdapter;

@PostConstruct
public void prioritizeCustomArgumentResolver () {
final List<HandlerMethodArgumentResolver> argumentResolvers = new ArrayList<>(Objects.requireNonNull(requestMappingHandlerAdapter.getArgumentResolvers()));
argumentResolvers.add(0, new CustomerNumberArgumentResolver());
requestMappingHandlerAdapter.setArgumentResolvers(argumentResolvers);
}

}

关于spring - 配置 Spring MockMvc 以在内置参数解析器之前使用自定义参数解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42523323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com