当前位置: 首页 > 知识库问答 >
问题:

spring@Controller和@RestController注释的区别

米项禹
2023-03-14

spring@controller@restcontroller注释之间的差异。

@controller注释可以同时用于Web MVC和REST应用程序吗?
如果可以,我们如何区分它是Web MVC还是REST应用程序。

共有3个答案

许丁雷
2023-03-14

如果使用@RestController,则无法返回视图(在spring/springboot使用ViewResolver)。是的,在这种情况下不需要@ResponseBody

如果您使用@controller,您可以在spring web MVC中返回一个视图。

甄越
2023-03-14

在下面的代码中,我将向您展示@controller

@Controller
public class RestClassName{

  @RequestMapping(value={"/uri"})
  @ResponseBody
  public ObjectResponse functionRestName(){
      //...
      return instance
   }
}

@restcontroller

@RestController
public class RestClassName{

  @RequestMapping(value={"/uri"})
  public ObjectResponse functionRestName(){
      //...
      return instance
   }
}

默认情况下会激活@responsebody。您不需要将其添加到函数签名的上方。

公冶森
2023-03-14
  • @controller用于将类标记为spring MVC控制器。
  • @restcontroller是一个方便的注释,它除了添加@controller@responsebody注释(请参阅:Javadoc)
  • 外,没有别的功能

因此下面的两个控制器定义应该执行相同的操作

@Controller
@ResponseBody
public class MyController { }

@RestController
public class MyRestController { }
 类似资料:
  • 问题内容: spring 和注释之间的区别。 可以注解同时用于Web MVC框架和REST的应用程序? 如果是,我们如何区分是Web MVC还是REST应用程序。 问题答案: 用于将类标记为。 是一个方便注释,仅添加和注释(参见:Javadoc) 所以以下两个控制器定义应该做的一样

  • 这些是实现控制器类 然而,当我们在Spring MVC程序中使用@Controller注释时,如何知道我们的@Controller注释正在实现这些控制器中的任何一个

  • 我不明白为什么使用RestController注释将类声明为服务,如下所示: 调度员

  • 本文向大家介绍请说明一下@Controller和@RestController的区别是什么?相关面试题,主要包含被问及请说明一下@Controller和@RestController的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 考察点:spring 参考回答: @RestController注解相当于@ResponseBody + @Controller合在一起的作用

  • 问题内容: 问题: 1)和之间的区别? 我已经读过,两者都消除了将连接代码放入XML中的必要性,但是并没有获得两者之间的区别。 2)之间有什么区别,和? -何时使用哪个? -每个优点/缺点是什么? 问题答案: 并且确实是非常不同类型的注释。 以及类似的注释(,等)及其对应的JSR-330允许您声明要通过自动扫描拾取的bean , 或者它们为类注册了bean定义,因此它们大致等效于使用以下命令声明指

  • 问题内容: 我正在将控制器转换为较新的注释版本。在旧版本中,我曾经使用以下命令在springmvc-servlet.xml中指定init方法: 如何使用注释版本指定init方法? 问题答案: 您可以使用