在spring boot中将控制从一个控制器重定向到另一个控制器

     2023-02-26     305

关键词:

【中文标题】在spring boot中将控制从一个控制器重定向到另一个控制器【英文标题】:Redirecting control from one controller to another in spring boot 【发布时间】:2018-02-11 05:01:27 【问题描述】:

我正在尝试将控制从一个控制器重定向到另一个控制器,但它没有发生。我经历了以前的 *** 问题,但他们的解决方案不适用于我的情况。

我的控制器是

@RestController
@RequestMapping( "/rest/auth" )
public class UnprotectedController extends AbstractController 

@Autowired
private UserServices userService;

@Autowired
private RequesterService requesterService;


@RequestMapping(value = "/login",method = RequestMethod.POST)
public ModelAndView login(HttpServletRequest request, HttpServletResponse response)

    return new ModelAndView("redirect:/login");


Postman,如果我点击http://localhost:8090/login,我会得到有效的回复。但是如果我点击http://localhost:8090/rest/auth/login,我会收到错误


"timestamp": 1504340884618,
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/login"

似乎控制没有重定向到指定的redirect url。为什么会这样?

http://localhost:8090/loginspring security 验证用户凭据并创建Security Context 的路径

【问题讨论】:

这与你无关吗***.com/questions/40880772/… 我就是这么做的。但它不起作用 您使用的是哪个 Spring Security 版本? 它发出POST 请求....那么没有黑客可以实现这一点吗? 如果邮递员制作POST /login,那么我错了,它应该可以工作。显示你的 Spring Security 配置,可能有问题。 【参考方案1】:

好吧,我认为您可以通过其他方式做到这一点。通过使用这个 HttpServletResponse 你有一个参数。

response.sendRedirect("/login");

但是,它会引发两种类型的异常,因此也必须使用 try/catch。

您遇到的问题是您在控制器上使用 @RestController 注释,该注释为所有方法提供了 @ResponseBody 注释,我认为您不能将 ModelAndView 作为响应正文返回。

尝试返回一个类似的字符串

return "redirect:/login"

return "forward:/login";

【讨论】:

我试过了,但它说 ` "timestamp": 1504522158996, "status": 404, "error": "Not Found", "message": "No message available", "path ": "/login" ` 检查 2 件事。当您的应用启动时,在日志中查看它显示的所有映射。你应该在那里找到你的控制器映射。如果不是,则它们不会被扫描拾取。另外,尝试路线。也许您需要添加一个绝对映射,例如“localhost:8080/login”

Cakephp 内部从控制器重定向到另一个控制器

】Cakephp内部从控制器重定向到另一个控制器【英文标题】:Cakephpinternalredirectfromcontrollertoanothercontroller【发布时间】:2011-05-1302:45:38【问题描述】:更新:我写了一些关于在php中使用header的错误陈述;所以忘记那部分:)我想要的... 查看详情

在 spring 控制器的重定向中将请求方法从 POST 更改为 GET

】在spring控制器的重定向中将请求方法从POST更改为GET【英文标题】:ChangetherequestmethodfromPOSTtoGETinaredirectionfromspringcontroller【发布时间】:2019-02-0122:24:51【问题描述】:我有一个springmvc控制器,它接受一个post请求,它需要重定向... 查看详情

Nest.Js 从一个控制器重定向到另一个

】Nest.Js从一个控制器重定向到另一个【英文标题】:Nest.JsRedirectfromacontrollertoanother【发布时间】:2019-10-1706:25:24【问题描述】:所以我有这个模块:@Module(imports:[],controllers:[AppController,AnotherController],providers:[],)在AppController的某些... 查看详情

如何在 IOS 应用程序中从视图控制器重定向回主故事板

】如何在IOS应用程序中从视图控制器重定向回主故事板【英文标题】:HowtoredirectbackfromViewcontrollertoMainStoryboardinIOSapp【发布时间】:2013-05-2405:36:24【问题描述】:在我的IOS应用程序中,我有一个关于从视图控制器重定向到主故事... 查看详情

将 segue 从一个视图控制器重定向到另一个视图控制器

】将segue从一个视图控制器重定向到另一个视图控制器【英文标题】:Redirectseguefromoneviewcontrollertoadifferentone【发布时间】:2015-09-0407:24:57【问题描述】:对于这个看似基本的问题,我找不到答案。假设我有一个带有两个视图控制... 查看详情

登录后 Spring MVC 控制器重定向到某个 URL

】登录后SpringMVC控制器重定向到某个URL【英文标题】:SpringMVCcontrollerredirecttosomeURLafterlogin【发布时间】:2012-12-2823:44:43【问题描述】:我有一个带有如下处理程序的SpringMVC控制器:@RequestMapping(value="/account/login",method=RequestMethod.GE... 查看详情

Ionic Framework:无法从我的控制器重定向到另一个页面?

】IonicFramework:无法从我的控制器重定向到另一个页面?【英文标题】:IonicFramework:Can\'tredirecttoanotherpagefrommycontroller?【发布时间】:2015-02-2020:11:01【问题描述】:在我的控制器中单击时无法让我的应用切换到另一个页面。如果... 查看详情

如何使用命名 URL 映射从控制器重定向?

】如何使用命名URL映射从控制器重定向?【英文标题】:HowtoredirectfromacontrollerusinganamedURLmapping?【发布时间】:2011-04-2118:27:40【问题描述】:我有一个如下的URL映射:staticmappings=nameregister:"/register"controller="account"action="createuser"我... 查看详情

从基本控制器重定向到操作方法

】从基本控制器重定向到操作方法【英文标题】:redirecttoactionmethodfrombasecontroller【发布时间】:2013-06-2023:35:04【问题描述】:我在我的基本控制器类中初始化了方法,每当执行任何操作方法时都会调用该方法。在每个操作方法... 查看详情

从 MVC 4 控制器重定向到 .aspx 页面

】从MVC4控制器重定向到.aspx页面【英文标题】:Redirecttoan.aspxpagefromaMVC4Controller【发布时间】:2015-03-1204:17:06【问题描述】:我对MVC很陌生,并且一直在努力在各个页面之间进行重定向。我正在尝试从amController重定向到项目根文... 查看详情

使用弹簧控制器重定向到外部链接[重复]

】使用弹簧控制器重定向到外部链接[重复]【英文标题】:Redirecttoexternallinkusingspringcontroller[duplicate]【发布时间】:2014-07-0421:28:31【问题描述】:我遇到了一个案例,我必须将链接从特定控制器重定向到外部url。我尝试过很多类... 查看详情

文件上传进度条干扰控制器重定向

】文件上传进度条干扰控制器重定向【英文标题】:FileuploadprogressbarinterfereswithControllerredirect【发布时间】:2021-11-1610:23:43【问题描述】:我有一个文件提交表单和一个跟踪上传进度的进度条。但是,控制进度条的javascript会干扰... 查看详情

如何从 C# 控制器重定向到 URL(带有自定义标头)

】如何从C#控制器重定向到URL(带有自定义标头)【英文标题】:HowtoredirecttoURL(withcustomheaders)fromC#Controller【发布时间】:2019-09-0209:42:31【问题描述】:我需要将用户的浏览器重定向到我的.NETCoreC#控制器操作中的新URL,并使用JWT... 查看详情

在 POST 数据中从 Api 控制器重定向到 MVC 控制器

】在POST数据中从Api控制器重定向到MVC控制器【英文标题】:RedirectionfromApiControllerToMVCControllerinPOSTdata【发布时间】:2016-10-0819:54:20【问题描述】:我是MVC和WebAPI的新手。我在这里受到打击。我们有一个APIController和MVC控制器。这... 查看详情

对 Spring Boot 控制器的 Ajax 调用以重定向视图

】对SpringBoot控制器的Ajax调用以重定向视图【英文标题】:Ajaxcalltospringbootcontrollertoredirectingaview【发布时间】:2019-01-2822:35:12【问题描述】:我是SpringBoot框架的新手。我有一个jQuery方法,它在单击span元素时被调用。在那个jQuery... 查看详情

从 ASP.NET MVC 控制器重定向到外部 URI

】从ASP.NETMVC控制器重定向到外部URI【英文标题】:RedirecttoexternalURIfromASP.NETMVCcontroller【发布时间】:2010-12-0516:19:20【问题描述】:我正在尝试从操作方法重定向到外部url,但无法使其正常工作。有人能解释一下我的错误吗?publi... 查看详情

在 Rails 3 中为特定控制器重定向记录器输出

】在Rails3中为特定控制器重定向记录器输出【英文标题】:RedirectloggeroutputforaspecificcontrollerinRails3【发布时间】:2015-05-0312:08:35【问题描述】:我们希望有一个控制器集合,我们将所有操作和下游方法的记录器输出路由到单独的... 查看详情

从前一个控制器重定向时未调用 Post 方法

】从前一个控制器重定向时未调用Post方法【英文标题】:Postmethodnotcalledwhenredirectedfrompreviouscontroller【发布时间】:2019-01-1001:25:59【问题描述】:所以我有3个jsp表单。第一个带有一般信息。在完成第一个表单时,它应该基于下拉... 查看详情