解决使用WebTestClient访问接口报[185c31bb] 500 Server Error for HTTP GET “/**“

编程入门 行业动态 更新时间:2024-10-21 22:58:03

解决使用WebTestClient访问<a href=https://www.elefans.com/category/jswz/34/1771365.html style=接口报[185c31bb] 500 Server Error for HTTP GET “/**“"/>

解决使用WebTestClient访问接口报[185c31bb] 500 Server Error for HTTP GET “/**“

解决使用WebTestClient访问接口报[185c31bb] 500 Server Error for HTTP GET "/**"

  • 问题发现
  • 问题解决

问题发现

WebTestClientSpring WebFlux 框架中提供的用于测试 Web 请求的客户端工具。它可以不用启动服务器,模拟发送 HTTP 请求并验证服务器的响应。

在学习spring-test中,依照文档要求进行编写后报错,完整实例代码如下:

@WebFluxTest
public class MyServiceTest {@Testpublic void test() {WebTestClient webTestClient = WebTestClient.bindToController(new TestController()).configureClient().build();WebTestClient.BodySpec<String, ?> response = webTestClient.get().uri("/test").exchange().expectStatus().isOk().expectBody(String.class).isEqualTo("Hello, world!");}
}
@WebFluxTest
public class MyServiceTest {@Testpublic void test() {WebTestClient webTestClient = WebTestClient.bindToController(new TestController()).configureClient().build();WebTestClient.BodySpec<String, ?> response = webTestClient.get().uri("/test").exchange().expectStatus().isOk()//判断返回200.expectBody(String.class).isEqualTo("Hello, world!");//断言判断是否返回Hello, world!}
}

报错截图

由于没有启动服务看不到接受端到底是那个地方报错,因为这一个问题卡了三天之久,真的很难受!!!

问题解决

最开始包括,请求参数、返回参数、请求地址、请求方式、注解、等方面都检查(如果返回404更加要检查这些问题),发现都不是这些问题,最后尝试是不是依赖的版本导致的,结果成功解决。

原pom依赖代码:

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId><version>2.0.6.RELEASE</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>2.4.0</version><scope>test</scope></dependency>

发现webflux的版本要低些,尝试改成一样的代码试试,改完以后的依赖代码:

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId><version>2.4.0</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>2.4.0</version><scope>test</scope></dependency>

然后再次执行,结果如图:

接口请求成功!!!

网上对WebTestClient遇到的一些错误解决方案比较少,欢迎大家评论区交流。

更多推荐

解决使用WebTestClient访问接口报[185c31bb] 500 Server Error for HTTP GET “/**“

本文发布于:2023-12-05 02:33:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1662792.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:接口   c31bb   WebTestClient   Error   HTTP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!