gpt4 book ai didi

java - 可分页实例化在 WebMvcTest 中成功,但在运行服务器上失败

转载 作者:行者123 更新时间:2023-11-30 05:58:25 25 4
gpt4 key购买 nike

我有点被这个问题难住了。我见过的例子和我在网上找到的所有内容都表明这一点

public ResponseEntity<StandaloneTerminals> getTerminalsBySearchTerm(
@PathParam("term") String term, @PageableDefault(page = 0, size = 25) Pageable pageRequest) {
Page<StandaloneTerminal> terminals;
...
}

应该可以。当在单元测试中运行时

@RunWith(SpringRunner.class)
@WebMvcTest(TerminalController.class)
public class TerminalControllerTest {
...

@Test
public void getAll() throws Exception {
MvcResult result = this.mockMvc.perform(get("/terminals")).andDo(print())
.andExpect(status().is(200))
.andReturn();
...
}

确实如此!

但是,实际上将 Postman 指向该端点会导致

org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.domain.Pageable]: Specified class is an interface

我已经在 Stack Overflow 上阅读了有关此问题的多个问题,并尝试将 @EnableSpringDataWebSupport 添加到新的 WebConfig 类中,并在不同时间添加到我的 AppConfig 和 Controller 中,只是为了安全起见。 Spring 继续拒绝实例化此 bean。

编辑:根据要求编辑应用程序配置:

@SpringBootApplication
@EnableSpringDataWebSupport
public class AppConfig {

public static void main(String[] args) {
SpringApplication.run(AppConfig.class, args);
}
}

最佳答案

我们一直无法准确地弄清楚为什么 Spring 无法实例化这个 bean,但我们通过使用默认构造函数来实现我们自己的 Pageable 找到了一种非侵入性的解决方法。到目前为止,我们还没有运气让 Sort 以同样的方式工作。

关于java - 可分页实例化在 WebMvcTest 中成功,但在运行服务器上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52729389/

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