如何解决返回模式在 Spring Boot 中不起作用

Posted

技术标签:

【中文标题】如何解决返回模式在 Spring Boot 中不起作用【英文标题】:How to resolve return modal not working in spring boot 【发布时间】:2019-11-24 05:47:51 【问题描述】:
@PostMapping("/api/file/delete")
public String deleteMultipartFile(HttpServletRequest request) 
   try 
      String keyname=request.getParameter("keyname");
      s3Services.deleteFile(keyname); 

      return "redirect:/welcome";
    catch(Exception e) 
      return "redirect:/welcome";
   

实际结果:

在白页中打印“redirect:/welcome”

预期结果:重定向到欢迎模式。

【问题讨论】:

你很可能用 RestController 而不是 Controller 注释了你的控制器。 【参考方案1】:

Spring 是一个 Java 应用程序框架,而 Spring Boot 是 Spring 的演变,它有助于创建独立的、生产级的基于 Spring 的应用程序,您可以“直接运行”。

Spring boot 支持@Controller 和@RestController 注解,其中 @Controller 注解表明被注解的类是一个控制器。它是@Component 的一个特化,通过类路径扫描自动检测。它通常与基于 @RequestMapping 注解的注解处理程序方法结合使用。 @RestController 是用于创建 Restful 控制器的兄弟便利注解。

如果您创建了带有注释 @Controller 的控制器的 Spring Boot 应用程序,并且您有返回 index.html(file location /src/main/resources/templates/index.html) 视图页面的 @GetMapping 方法。像下面的代码:-

 @Controller
    public class MyController

     @GetMapping("/")
     public String indexPage()
      return "index";
      

     @GetMapping("/index")
     public String routeWithIndex()
      return "redirect:/";
      


    

这两个函数都返回 index.html 页面。如果您想通过示例了解更多关于@Controller 和@RestController 的spring 注解的知识,请访问baeldung 网站或关于spring 的官方网站。

【讨论】:

以上是关于如何解决返回模式在 Spring Boot 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

sec:authentication 在 Spring Boot Security 中不起作用

http-proxy-middleware 代理在 React js 和 Spring Boot 项目中不起作用。 GET API 返回 415 状态错误

JUnit 在带有 @Autowired 注释的 Spring Boot 中不起作用

JUnit get() 方法在 Spring Boot 中不起作用

Springfox swagger 在 Spring Boot 2.2.0 中不起作用

事务注释在 Spring Boot 中不起作用