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

网站内容与目录结构图合肥今日头条新闻

网站内容与目录结构图,合肥今日头条新闻,制作图网官网在线制作,宿迁房产交易中心官网前记:基础啊,区别点重点理解; 在Spring和Spring Boot框架中,Controller和RestController都用于处理HTTP请求,但它们在设计目的和用法上有显著区别。以下是它们的核心区别及示例说明: ​1. 核心区别 特性C…

前记:基础啊,区别点重点理解;

在Spring和Spring Boot框架中,@Controller@RestController都用于处理HTTP请求,但它们在设计目的和用法上有显著区别。以下是它们的核心区别及示例说明:


1. 核心区别

特性@Controller@RestController
用途传统Web应用(返回视图名称)RESTful API(直接返回数据,如JSON/XML)
响应处理默认返回视图名称,需配合@ResponseBody返回数据自动将返回值序列化为HTTP响应体(内置@ResponseBody
视图解析器需要视图解析器(如JSP、Thymeleaf)不需要视图解析器,直接返回数据
组合注解@Controller + @ResponseBody

2. @Controller 用法示例

场景:传统Web应用,返回HTML视图。
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class WebController {// 返回视图名称(由视图解析器处理,如Thymeleaf)@GetMapping("/home")public String home() {return "home"; // 对应src/main/resources/templates/home.html}// 需要显式添加@ResponseBody返回数据@GetMapping("/data")@ResponseBodypublic String getData() {return "Hello from @Controller!";}
}
说明
  • return "home":视图解析器会查找home.html模板并渲染。
  • @ResponseBody:强制将返回值作为响应体(不经过视图解析器)。

3. @RestController 用法示例

场景:REST API,直接返回JSON数据。
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class ApiController {// 自动将User对象序列化为JSON@GetMapping("/user")public User getUser() {return new User("Alice", 30);}// 直接返回字符串@GetMapping("/greeting")public String greeting() {return "Hello from @RestController!";}
}// 简单POJO类
class User {private String name;private int age;public User(String name, int age) {this.name = name;this.age = age;}// 省略getter/setter
}
说明
  • 所有方法默认使用@ResponseBody,返回值直接写入HTTP响应体。
  • 返回对象会被自动序列化为JSON(需Jackson库支持,Spring Boot默认包含)。

4. 关键总结

  • 使用@Controller

    • 适合需要服务端渲染的页面(如JSP、Thymeleaf)。
    • 若返回数据,必须配合@ResponseBody
  • 使用@RestController

    • 专为REST API设计,直接返回数据(无需视图解析)。
    • 简化代码,避免重复使用@ResponseBody

5. 常见HTTP方法注解

两者均可使用@GetMapping@PostMapping等快捷注解:

// 在@Controller或@RestController中均可使用
@PostMapping("/create")
public ResponseEntity<String> createUser(@RequestBody User user) {// 处理创建逻辑return ResponseEntity.ok("User created!");
}

通过合理选择@Controller@RestController,可以高效构建传统Web应用或现代RESTful API。

(望各位潘安、各位子健/各位彦祖、于晏不吝赐教!多多指正!🙏)

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

相关文章:

  • wordpress 邮箱变更seo模拟点击算法
  • 如何给企业做网站推广免费seo推广公司
  • 帮别人做非法网站自首企业官网网站
  • 手机制作3d动画seo咨询价格找推推蛙
  • 网站关键字标签专业做加盟推广的公司
  • 建设部网站查询注册岩土工程师百度热搜榜历史
  • 做网站的目标是什么互联网广告推广是什么
  • 哪个网站可以做字体刷赞网站推广免费链接
  • 番禺网站制作价格今日桂林头条新闻
  • 陕西西安网站建设公司北京网站优化经理
  • 兴义之窗网站怎么做深圳网络推广推荐
  • 日本做a的短视频网站刷关键词的平台
  • 如何用模板搭建网站外包网络推广公司
  • 设计师助理做网站吗永久免费自动建站
  • 网站备案 他人身份证seo推广思路
  • 成都住房和城乡建设部网站查询百度搜索风云榜小说
  • 网页站点设计优化方法
  • 金融服务网站建设360搜图片识图
  • 金融网站建站seo咨询师
  • 易语言怎么做视频网站好的推广平台
  • 网站策划方案书的内容网站优化价格
  • 中国建设银行武汉各网站seo 优化
  • 相应式手机网站建设网站设计方案模板
  • wordpress网站打开速度seo收费标准多少
  • 制作网站是什么专业线下推广宣传方式有哪些
  • 影响网站打开速度的因素怎样做企业推广
  • 果女做拍的视频网站搜索引擎调词平台
  • 闵行做网站的公司关键词排名点击软件网站
  • 网站持有者和备案企业常熟seo关键词优化公司
  • 橙子建站是什么东西免费快速网站