栾城seo整站排名,温州建设公司网站,长沙装修公司排名榜,网站访问很慢Controller 和 RestController 是 Spring MVC 中用于处理 HTTP 请求的注解#xff0c;它们有以下区别#xff1a; 返回值处理方式#xff1a; Controller 用于定义一个传统的 Spring MVC 控制器#xff0c;它的方法通常返回视图名称或 ModelAndView 对象#xff0c;由视图…Controller 和 RestController 是 Spring MVC 中用于处理 HTTP 请求的注解它们有以下区别 返回值处理方式 Controller 用于定义一个传统的 Spring MVC 控制器它的方法通常返回视图名称或 ModelAndView 对象由视图解析器解析并渲染成 HTML 页面。 Controller
public class MyController {GetMapping(/hello)public String hello() {return helloPage; // 返回视图名称}
}RestController 组合了 Controller 和 ResponseBody用于定义 RESTful 风格的控制器。其方法的返回值会直接写入 HTTP 响应体而不是通过视图解析器解析为视图。 RestController
public class MyRestController {GetMapping(/api/hello)public String hello() {return Hello, REST API!; // 直接写入响应体}
}默认响应类型 Controller 默认返回视图通常使用 ViewResolver 将逻辑视图名映射为实际视图。RestController 默认返回 JSON 或 XML 格式的数据而不是视图。 使用场景 使用 Controller 时通常用于构建传统的 Web 应用其中页面渲染由视图模板如 JSP、Thymeleaf处理。使用 RestController 时适用于构建 RESTful API其中数据以 JSON 或 XML 格式返回给客户端。
实际例子
Controller
public class WebPageController {GetMapping(/helloPage)public String helloPage() {return helloPage; // 返回视图名称通常由视图解析器解析为实际视图}
}RestController
public class ApiController {GetMapping(/api/hello)public String helloApi() {return Hello, REST API!; // 直接返回字符串将以 JSON 或 XML 格式写入响应体}
}在构建 Web 页面的场景中使用 Controller 处理用户请求返回视图名称然后由视图解析器解析为实际视图。而在构建 RESTful API 的场景中使用 RestController 直接返回数据通常以 JSON 或 XML 格式。