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

湘潭网站建设网站推广做网站搞活动

湘潭网站建设网站推广,做网站搞活动,口碑好的设计培训机构,外包服务是什么意思1.介绍RequestBody和ResponseBody RequestBody:此注解一般用于将 HTTP 请求体中的内容转换为 Java 对象。通常在处理 POST、PUT 这类请求时,客户端会把数据放在请求体里,使用RequestBody就能把请求体中的数据映射到对应的 Java 对象上。 Re…

1.介绍@RequestBody和@ResponseBody

@RequestBody此注解一般用于将 HTTP 请求体中的内容转换为 Java 对象。通常在处理 ==POST、PUT ==这类请求时,客户端会把数据放在请求体里,使用@RequestBody就能把请求体中的数据映射到对应的 Java 对象上。

@ResponseBody该注解的作用是把控制器方法返回的 Java 对象转换为 HTTP 响应体(简单的来说直接返回的是数据)。一般来说,Spring MVC 会把返回值解析成视图名称,再用视图解析器找到对应的视图来渲染响应。但使用@ResponseBody后,会直接把返回的 Java 对象通过消息转换器转换为指定格式(如 JSON、XML),并作为响应体返回给客户端。

2.使用场景

注解使用场景
@RequestBody接收客户端发送的复杂数据(如 POST/PUT 请求的 JSON 格式参数)。
@ResponseBody向客户端返回复杂数据(如 RESTful API 的 JSON 响应,避免视图解析)。

3.示例

3.1@RequestBody注解

3.1.1 传Json数据

创建一个User对象:

public class User {private String name;private Integer age;private String Sex;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getSex() {return Sex;}public void setSex(String sex) {this.sex = sex;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +", sex='" + sex + '\'' +'}';}
}

采用Post/put请求传递Json数据:

@RestController
@RequestMapping("/path")
public class testControler {@RequestMapping("/r")public String request(@RequestBody User user){return "name:" + user.getName()+" age:"+user.getAge()+" 性别:"+user.getSex();}

注意:在浏览器中不能采用使用post方式请求:
127.0.0.1:8080/path/r?name=liming&age=20&sex=man
在这里插入图片描述
原因:请求方式不匹配,@RequestBody注解一般用于处理 POST、PUT 这类带有请求体的请求,浏览器搜索路径用的是 GET 请求,GET 请求通常没有请求体,使用 @RequestBody 注解就会出错。因为 @RequestBody 注解需要从请求体里获取数据。

3.1.2 通过URL参数来传递数据不需要使用@RequestBody

通过URL参数来传递数据不需要使用@RequestBody
后端代码:

    @RequestMapping("/r2")public String r2(User user){return "name:" + user.getName()+" age:"+user.getAge()+" 性别:"+user.getSex();}

运行后,使用浏览器搜素:127.0.0.1:8080/path/r2?name=liming&age=20&sex=man
在这里插入图片描述

Spring 会尝试从请求的参数里获取数据并绑定到 User 对象的属性上。这意味着可以通过 URL 参数(如 ?name=liming&age=20)来传递数据,Spring 会自动把这些参数映射到 User 对象的对应属性上。

3.2@ResponseBody

3.2.1@responseBody注解配合@Controller注解

@ResponseBody 注解的核心作用是告知 Spring 框架,把控制器方法的返回值直接序列化为 JSON、XML 或者其他媒体类型,并写入 HTTP 响应体。这样一来,客户端收到的响应就是方法返回的具体数据,而非视图页面

代码演示:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@RequestMapping("/basic")
@Controller
public class BasicController {@RequestMapping("/say")@ResponseBodypublic String Hello() {return "Hello!";}
}

运行程序后再浏览器搜索127.0.01:8080/basic/say
结果:
在这里插入图片描述

3.2.2@RestController=@responseBody+@Controller

@RestController:这是 @Controller 和 @ResponseBody 的组合注解,表明该类是一个控制器,并且类中的所有方法返回值都会直接写入响应体

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;// @RestController 是 @Controller 和 @ResponseBody 的组合注解
@RestController
@RequestMapping("/test")
public class MyController {// 该方法返回一个字符串,会直接作为响应体返回给客户端@GetMapping("/hello")public String sayHello() {return "Hello, World!";}
}

运行程序后再浏览器搜索127.0.01:8080/test/hello
结果:
在这里插入图片描述

http://www.dtcms.com/a/439313.html

相关文章:

  • Spring进阶 - Spring AOP实现原理(一)AOP切面实现原理
  • 整体设计 逻辑系统程序 之9 三种逻辑表述形式、形式化体系构建及关联规则(正则 / 三区逻辑)之2
  • SSM框架下的redis使用以及token认证
  • 十堰seo百度搜索引擎优化方式
  • 连锁酒店网站建设微信版本的wordpress
  • 网站建设分金手指专业一网络运营主要做什么
  • 人工智能专业术语详解(C)
  • EfficientNet:复合缩放
  • 淄博网站的建设wordpress好用的编辑器
  • MyBatis 基础
  • 自建网站和租用空间网站网站公司的客户怎么来
  • Spark的Broadcast Join以及其它的Join策略
  • 宝安做网站的公司网站快速排名的方法
  • 重庆网站建设公司的网站西安做商铺的网站
  • 嵌入式开发学习日志33——stm32之PWM舵机简单项目
  • 桂林旅游网站建设品牌营销的四大策略
  • 为什么Java线程栈容易溢出?
  • 怎么做福彩网站营销系统
  • Java 后端与 AI 融合:技术路径、实战案例与未来趋势
  • 一键建站公司wordpress 404 插件
  • 大连网站设计培训班网站建设公司推荐互赢网络
  • 网站一般建什么百度公司官网招聘
  • 如何使用unity制作游戏
  • Mosquitto 安全架构深度解析:security.c 与 security_default.c 的作用与协同机制
  • 国外打开网站会不会乱码龙岗做商城网站建设
  • css选择器继承性
  • 做投资的网站高端网站建设成都
  • 丹阳网站怎么做seo主机屋 WordPress 问题 多
  • 中文名字英文名字日本名字txt合集
  • 搜狗seo快速排名公司山东东营网络seo