所以我在我的 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帖子
问题内容: 我正在向服务器发送请求,但它正在返回网页。有没有办法获取网页的网址呢? 问题答案: 您需要检查重定向并停止(捕获)它们。如果捕获重定向,则可以使用响应结构的定位方法获取重定向URL(重定向到该URL)。
问题内容: 我正在使用Ajax.BeginForm创建一个表单,该表单将ajax回发到某个控制器操作,然后,如果该操作成功,则用户应重定向到另一个页面(如果该操作失败,则使用AjaxOptions UpdateTargetId)。 如果删除成功,我将返回重定向结果: 但是Home Controller Index视图已加载到UpdateTargetId中,因此我最终在页面中找到一个页面。我在考虑两
我已经浪费了很多时间试图从我的AMP页面重定向到其他页面。提交表单时,xhr操作通过POST发送数据来调用php文件。此php文件设置一个新位置,将页面重定向到另一个位置。我在php文件中要重定向的代码如下: 该过程到达实体_并正确解码,我放在头中的url(ulr)是正确的。我从chrome网络分析中得到的响应是下一个(我不明白为什么同一个url存在两个启动器,而且它们不工作)。错误日志: 获取A
我想知道301和307重定向之间的区别。 我希望通过自制url重定向器生成反向链接,我希望任何“链接果汁”或“页面排名果汁”都能直接从原始主页流向最终url,但如果其中一个原始主页出现问题,我希望能够通过删除该特定页面的重定向链接来关闭该链接。有道理? 我的理解是,301是永久性的,这意味着谷歌将看到301并更新其缓存的URL作为最终目的地,而不管我以后是否取消重定向。 如果我使用307,它将不会
我正在使用Stripe Connect,并在文档中使用了它们的示例代码。你将一个用户重定向到条带页面,他们注册后会重定向回你的站点。Stripe然后会在URL中发送一个代码,以便您能够访问并向用户帐户收费。 重定向后,这段代码就是他们在示例中的内容: 重定向URL为https://connect.stripe.com/oauth/authorize?response_type=code
我有一个单页角应用与Spring引导。它看起来如下所示: Spring Boot正确地默认为webapp文件夹,并为index.html文件服务。 我想做的是:
问题内容: 我正在尝试在Spring MVC应用程序中实现RESTful URL。除了处理表单提交之外,一切都很好。我需要重定向回原始表单或“成功”页面。 但是,正如我在Spring文档中所阅读的那样,如果您重定向了任何参数,则会将其放入url。那对我不起作用。解决此问题的最优雅方式是什么? 问题答案: http://jira.springframework.org/browse/SPR-6464
我想在成功登录后重定向到主页。我找遍了,但没有找到解决办法。提前感谢