Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带RESTful实现的SpringMVC和简单的SpringMVC,如何区分它们?_Spring_Rest_Spring Mvc_Restful Architecture - Fatal编程技术网

带RESTful实现的SpringMVC和简单的SpringMVC,如何区分它们?

带RESTful实现的SpringMVC和简单的SpringMVC,如何区分它们?,spring,rest,spring-mvc,restful-architecture,Spring,Rest,Spring Mvc,Restful Architecture,关键是,如何准确地识别实现RESTfulWeb服务的SpringMVC?假设使用Spring3.x,使用哪个项目中的所有注释将指示项目实现RESTfulWeb服务 如果控制器用@RestController注释,或者@RequestMapping方法在返回类型上有@ResponseBody,那么这些就是REST服务。假设您使用的是Spring 3.x 所有Spring MVC组件都必须使用通用的@Controller注释将其标记为控制器servlet。 简而言之,控制器servlet应该用@co

关键是,如何准确地识别实现RESTfulWeb服务的SpringMVC?假设使用Spring3.x,使用哪个项目中的所有注释将指示项目实现RESTfulWeb服务

如果控制器用
@RestController
注释,或者
@RequestMapping
方法在返回类型上有
@ResponseBody
,那么这些就是REST服务。

假设您使用的是Spring 3.x

所有Spring MVC组件都必须使用通用的
@Controller
注释将其标记为控制器servlet。 简而言之,控制器servlet应该用@controller注释

当您在Spring3.x中实现一个
RESTfulWeb服务时,响应将始终与响应主体一起发送。
简而言之,实现REST API的控制器应该用
@Controller
+
@ResponseBody

补充资料 Spring4.0提供了控制器的专用版本-
@RestController

@RestController
是一个原型注释,它结合了
@ResponseBody
@Controller
@RestController
注释本身用
@Controller
@ResponseBody
注释

 @Target(value=TYPE)
 @Retention(value=RUNTIME)
 @Documented
 @Controller
 @ResponseBody
public @interface RestController