提问者:小点点

从 Spring 引导中的点获取 307 重定向响应,而不是目标位置页面内容


所以我在我的 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个页面内容?


共1个答案

匿名用户

要测试它是否工作,您可以使用像curl这样的简单工具:

我们添加-L标志来告诉curl我们想知道我们是否被重定向

curl -L http://www.....

然后,您可以简单地使用MockMvc等工具来自动化此测试请参阅此SO帖子