我有一个接受一些参数处理的控制器,并且应该通过重定向到给定的URL将参数返回给UI。
我尝试过HttpResponse.seeOther
和HttpResponse.redirect
都显示银行页面和“查看其他”消息,但是没有重定向到现有的可服务页面。我在这里想念什么?
@Post('/getServ')
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_HTML)
HttpResponse<String> serve(@Nullable @Body LinkedHashMap payload) {
//...
URI location = new URI(redirectURL)
return HttpResponse.redirect(location).
header("Location", redirectURL).
status(302).
header("JWT", jwt.toString())
//...
}
预期结果应该是从控制器重定向到URL。
答案 0 :(得分:1)
尚未尝试过,但这应该可以工作:
@Post('/getServ')
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
HttpResponse<String> serve(@Nullable @Body LinkedHashMap payload) {
//...
URI location = new URI(redirectURL)
return HttpResponse.redirect(location).
header("JWT", jwt.toString())
//...
}
您的端点不产生text/html
-重定向是一个空响应,仅设置了Location
头(由框架)。但是,返回该(Content-Type
标头可能会使您的浏览器感到困惑。
您也不需要直接设置状态代码和位置标头。