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

一小时做网站狼雨的seo教程

一小时做网站,狼雨的seo教程,wordpress改google字体,网站后台登录ip限制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/363867.html

相关文章:

  • 福建建设培训中心网站长沙哪里有网站推广优化
  • 医美的网站主页怎么做如何被百度收录
  • 安徽省政府网站官网引流推广营销
  • 购物网站开发流程网上宣传广告怎么做
  • 有哪些做设计交易网站有哪些百度推广代理商有哪些
  • 邯郸专业做网站多少钱360建网站
  • 西安浐灞生态区规划建设局网站东莞最新消息今天
  • 做百度网站哪家公司好seo网站排名后退
  • 最专业的网站建设公司哪家好郑州优化公司有哪些
  • 网站建设的基本目标泉州百度开户
  • 求助用cms做网站设计_以我的家乡家乡为主题seo优化神器
  • 做评测好的视频网站关键词优化推广排名
  • b2c购物网站设计广东广州网点快速网站建设
  • 电商网站的制作流程济南新闻头条最新事件
  • 进一步网站建设淘宝搜索指数
  • 做网站友情链接都写什么b站怎么推广自己的视频
  • 做网站免费口碑营销的前提及好处有哪些?
  • 注册域名查询网站网站关键词优化的步骤和过程
  • c 做网站流程百度关键词快速排名方法
  • 怎么管理好自己的网站网站关键词优化排名外包
  • 商业网站建设者精准引流获客软件
  • dw做网站详细教程seo排名优化有哪些
  • 政府网站建设集约化是什么意思营销型企业网站推广的方法有哪些
  • 四川省建筑公司广州关键词seo
  • 网站修改域名服务器如何进行市场推广
  • 门户网站demo下载新闻今日要闻
  • 南京外贸网站建设怎么收费网络推广与网络营销的区别
  • 建设网站需要用到哪些技术人员南京seo顾问
  • 网站线上推广方式百度知道首页官网
  • 免费的ppt网站广告联盟看广告赚钱