所以我在我的 Spring 启动应用程序中有一个简单的endpoint,它只是重定向到另一个网站:
@Controller 公共类反馈控制器 {
@GetMapping(path = "/test")
public Mono<ResponseEntity<Void>> method() {
String redirectUrl = "https://www.google.com";
return Mono
.just(ResponseEntity.status(HttpStatus.TEMPORARY_REDIRECT).location(URI.create(redirectUrl)).build());
}
向此endpoint(例如在浏览器或邮递员中)发出GET请求会给我google的页面内容作为响应。然而,出于测试目的,我想确保响应是一个TEMPORARY_REDIRECT,www.google.com为位置标头。我如何向此endpoint发出请求,以便响应是307TEMPORARY_REDIRECT而不是来自目标网站的200个页面内容?
要测试它是否工作,您可以使用像curl这样的简单工具:
我们添加-L标志来告诉curl我们想知道我们是否被重定向
curl -L http://www.....
然后,您可以简单地使用MockMvc等工具来自动化此测试请参阅此SO帖子