当前位置: 首页 > wzjs >正文

一小时做网站上海关键词排名提升

一小时做网站,上海关键词排名提升,seo教程百度云,使用免费网站制作软件1.Controller与RestController对比 Spring MVC 中 Controller 与 RestController 的功能对比: Controller是Spring MVC中用于标识一个类作为控制器的标准注解。它允许处理HTTP请求,并返回视图名称,通常和视图解析器一起使用来渲染页面。而R…

1.@Controller@RestController对比

Spring MVC 中 @Controller 与 @RestController 的功能对比:

  • @Controller是Spring MVC中用于标识一个类作为控制器的标准注解。它允许处理HTTP请求,并返回视图名称通常和视图解析器一起使用来渲染页面
  • 而@RestController是Spring 4.0引入的,它结合了@Controller和@ResponseBody两个注解的功能,主要用于构建RESTful Web服务,直接返回响应体数据,比如JSON或XML,而不是视图。
注解功能描述
@Controller标识一个类为 Spring MVC 控制器,处理 HTTP 请求并返回视图名称 或 ModelAndView
@RestController组合注解,等效于 @Controller + @ResponseBody,返回值直接写入 HTTP 响应体(如 JSON/XML),不经过视图解析器

 @Controller 与 @RestController 的关键区别:

特性@Controller@RestController
返回值类型通常返回视图名称(String)或 ModelAndView返回任意对象(如 POJO),自动序列化为 JSON/XML
是否需要视图解析器✅ 是(需配合模板引擎如 Thymeleaf)❌ 否(直接写入响应体)
是否自动添加 @ResponseBody❌ 否✅ 是
适用场景传统服务端渲染网页(如 JSP/Thymeleaf)构建 RESTful API(前后端分离项目)

2. 使用示例

2.1 代码演示

准备工作:下面代码演示所需的 User 实体类定义如下

public class User {private String name;private String email;// 构造方法、Getter 和 Setterpublic User(String name, String email) {this.name = name;this.email = email;}// Getter 和 Setter 省略
}

2.1.1 使用 @Controller 

使用 @Controller 返回String类型的视图名称 或 ModelAndView:

@Controller
public class ViewController {//case1.处理请求并返回视图名称 userProfile(对应 templates/userProfile.html)@GetMapping("/user/{id}")public String getUserProfile(@PathVariable String id, Model model) {User user = new User("Alice", "alice@example.com");model.addAttribute("user", user); // 将数据传递给视图return "userProfile"; // 返回视图名称}//case2.处理请求并返回ModelAndView@GetMapping("/userV2/{id}")public ModelAndView getUser(@PathVariable String id) {User user = new User("Alice", "alice@example.com");ModelAndView modelAndView = new ModelAndView("userProfile");modelAndView.addObject("user", user);return modelAndView;}
}

其中,视图文件(src/main/resources/templates/userProfile.html)定义如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"><body><h1>User Profile</h1><p>Name: <span th:text="${user.name}"></span></p><p>Email: <span th:text="${user.email}"></span></p></body>
</html>

访问路径GET http://localhost:8080/user/1
输出:渲染后的 HTML 页面,显示用户信息。

2.1.2 使用 @RestController

使用 @RestController 返回 JSON:

@RestController
@RequestMapping("/api")
public class UserController {// 处理请求并返回 JSON 数据@GetMapping("/user/{id}")public User getUser(@PathVariable String id) {return new User("Bob", "bob@example.com"); // 直接返回对象}
}

访问路径GET http://localhost:8080/api/user/1

输出:JSON

{"name": "Bob","email": "bob@example.com"
}

2.2 使用说明

2.2.1 核心处理流程对比

处理步骤@Controller@RestController
请求映射@RequestMapping 或 @GetMapping 等@RequestMapping 或 @GetMapping 等
返回值处理返回视图名称或ModelAndView,需视图解析器渲染返回对象,自动序列化为 JSON/XML
数据传递通过 Model 参数传递数据给视图无需 Model,直接返回数据对象
依赖组件视图解析器(ViewResolver)、模板引擎HttpMessageConverter(如 Jackson)

2.2.2 适用场景建议

  • 使用 @Controller 的场景
    • 传统 Web 应用,服务端渲染 HTML 页面。
    • 需要结合模板引擎(如 Thymeleaf、JSP)。
  • 使用 @RestController 的场景
    • 构建前后端分离的 RESTful API。
    • 返回 JSON/XML 数据给前端(如 Vue/React 应用)。
    • 微服务架构中的服务间通信。

2.2.3. 补充说明

  • @RestController 是 Spring 4.0 引入的,简化了 RESTful API 的开发。
  • 若需在 @Controller 中返回 JSON 数据,可单独添加 @ResponseBody 注解到方法或类级别:
    • @Controller
      public class MixedController {@GetMapping("/user/json")@ResponseBodypublic User getUserAsJson() {return new User("Charlie", "charlie@example.com");}
      }
      

http://www.dtcms.com/wzjs/406969.html

相关文章:

  • 名城建设有限公司网站2023年8月份新冠病毒
  • 南宁手机网站建设系统优化软件有哪些
  • 国外设计网站app电商怎么做营销推广
  • 怎么做免费的网站推广搜索引擎营销概念
  • 黄陌陌网站怎么做有了域名如何建立网站
  • 购物网站排名2015无锡今日头条新闻
  • 湖北省住房和城乡建设厅官网网站seo内容优化
  • php网站打开速度慢优秀网页设计赏析
  • 同个主体新增网站备案seo能干一辈子吗
  • 武汉网站制作开发买外链
  • 网站登录超时怎么解决百度竞价收费标准
  • 精品网站免费seo的理解
  • 自己用自己电脑做网站空间网站优化推广seo公司
  • 那个公司做网站好什么是百度竞价排名
  • 如何做网页或网站谷歌推广哪家公司好
  • 成都网站建设公司招聘网络营销软件网站
  • 厦门医院网站建设百度网页链接
  • 不用网站做cpa百度点击器找名风软件
  • 网站建设推广策划怎么免费建公司网站
  • wordpress 获取图片路径seo搜索引擎优化技术教程
  • 网站域名过户查询百度知道个人中心
  • 哈尔滨做网站seo关联词有哪些类型
  • 单本小说wordpress郑州百度网站快速优化
  • 专业建设 教学成果奖网站站长工具seo查询软件
  • 芜湖建设厅官方网站电商培训班
  • wordpress上传直连播放青岛官网seo公司
  • 西部数据网站管理助手最知名的网站推广公司
  • 学什么可以做网站做一个企业网站大概需要多少钱
  • 企业网站引导页模板网站推广的常用途径有哪些
  • 常州百度网站排名优化广告公司图片