java—仅在特定方法中具有@controller和@restcontroller

tag5nh1u  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(348)

在spring启动应用程序中有一个controller,controller类中的一些方法需要通过thymeleaf发送到templates文件夹中的html页面,而其他方法则不需要。在第一种情况下,我会使用@controller注解,而在第二种情况下,我会使用@restconroller注解。但如果我两种方法都有呢?

uajslkp6

uajslkp61#

@restcontroller=@controller+@responsebody这是它们之间唯一的区别。
如果用@controller注解类,还需要用额外的@responsebody注解来注解方法,以返回rest响应,而不使用注解将结果用作视图。

@Controller
public class User{

  @RequestMapping(value={"/user"})
  @ResponseBody
  public User getUser(){
    ...
  // return User object as a response application/json content type
  return user;
  }

  @RequestMapping(value={"/"})
  public String getUserPage(){
    ...
  //return View
  return "user";
  }
}

相关问题