java - 在没有 View 解析器的情况下重定向到 spring-boot-starter-webflux 中的外部绝对 URL

标签 java redirect spring-webflux

我正在使用 spring-webflux 创建一个应用程序。我公开了一个 Controller ,它有一个 react 性方法并返回 Mono 作为返回类型。 堆栈是响应式(Reactive)的。 请求来自浏览器,API 预计会将浏览器中的用户重定向到基于某些本质上异步的计算的 URL。我现在得到的不是重定向,而是如下所示的响应。

有办法实现吗?

{
"defaultCharset": "UTF-8",
"requestContextAttribute": null,
"beanName": null,
"applicationContext": null,
"url": "https://my.box.com/service/auth/oauth/authorize?client_id=3d58a6ae9da221193d688feb521cf3f78ab8f1e04b3110813798b6feb877aa4d&response_type=code&redirect_uri=https://memini.serveo.net/api/v1/sources/BOX/connection?state=79299a49-e716-4ac5-a4f1-d16a2fdf6de5",
"contextRelative": true,
"statusCode": "SEE_OTHER",
"propagateQuery": false,
"hosts": null,
"redirectView": true,
"supportedMediaTypes": [
{
"type": "text",
"subtype": "html",
"parameters": {
"charset": "UTF-8"
},
"qualityValue": 1,
"wildcardType": false,
"wildcardSubtype": false,
"charset": "UTF-8",
"concrete": true
}
]
}

最佳答案

使用下面的代码让它工作得很好

@GetMapping("/")
Mono<Void> redirect(ServerHttpResponse response) {
  response.setStatus(TEMPORARY_REDIRECT);
  response.getHeaders().setLocation(URI.create(authorizationUrl));
  return response.setComplete();
}

关于java - 在没有 View 解析器的情况下重定向到 spring-boot-starter-webflux 中的外部绝对 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55848688/

相关文章:

java - 无法从相机/Dropbox 加载图片

.htaccess - htaccess中的子域重定向

java - 模拟 WebClient post 方法失败

java - 禁用 Spring Boot Web 客户端日志

spring-boot - 返回 Mono<ServerResponse> 会导致(邪恶的)同步、阻塞客户端/服务器通信吗?

java - 如何在 JFrame 中删除最小化按钮并保留最大化和关闭按钮

java - Java中通过SSH2的远程主机文件操作

php - 在路由服务提供商中重定向

java - spring boot 无法识别 SPRING_APPLICATION_JSON 环境变量

JavaScript 重定向回引用页面