ResponseBody 和 RequestBody的区别

ResponseBody (Response 请求)

@Responsebody 注解表示该方法的返回的结果直接写入 HTTP 响应正文(ResponseBody)中,一般在异步获取数据时使用;

通常是在使用 @RequestMapping 后,返回值通常解析为跳转路径,加上 @Responsebody 后返回结果不会被解析为跳转路径,而是直接写入HTTP 响应正文中。

作用:
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
使用时机:
返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

RequestBody (Request 响应)

@RequestBody是作用在形参列表上,用于将前台发送过来固定格式的数据【xml 格式或者 json等】封装为对应的 JavaBean 对象,封装时使用到的一个对象是系统默认配置的 HttpMessageConverter进行解析,然后封装到形参上。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,`@ResponseBody`和`@RequestBody`是Spring框架中用于处理HTTP请求和响应的注解。 `@ResponseBody`注解通常用于控制器方法上,表示该方法的返回值将直接作为HTTP响应体返回给客户端。它可以将方法返回的对象转换为JSON、XML或其他格式,并通过HTTP响应发送给客户端。这样,客户端就可以直接获取到方法返回的数据。 示例代码如下: ```java @RestController public class UserController { @GetMapping("/user/{id}") public User getUser(@PathVariable int id) { // 从数据库或其他地方获取用户信息 User user = userService.getUserById(id); return user; } } ``` 在上面的示例中,`getUser()`方法使用了`@GetMapping`注解来映射GET请求,并且使用了`@ResponseBody`注解,表示方法的返回值将直接作为HTTP响应体返回给客户端。 `@RequestBody`注解通常用于控制器方法的参数上,表示该参数的值将从HTTP请求体中获取。它可以将请求体中的JSON、XML或其他格式的数据转换为Java对象,并传递给方法进行处理。 示例代码如下: ```java @RestController public class UserController { @PostMapping("/user") public void addUser(@RequestBody User user) { // 将用户信息保存到数据库或其他地方 userService.addUser(user); } } ``` 在上面的示例中,`addUser()`方法使用了`@PostMapping`注解来映射POST请求,并且使用了`@RequestBody`注解,表示方法的参数`user`将从HTTP请求体中获取。 总结一下: - `@ResponseBody`用于控制器方法上,表示方法的返回值将直接作为HTTP响应体返回给客户端。 - `@RequestBody`用于控制器方法的参数上,表示该参数的值将从HTTP请求体中获取。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值