@ResponseBody注解

简介: @ResponseBody注解

@ResponseBody用于请求处理方法上,表示方法返回的结果直接写入 HTTP 响应正文(ResponseBody)中,而不是将视图名称解析为视图的内容。该注解通常用于返回 JSON、XML 或二进制数据,而不是 HTML 视图。

以下是一个使用 @ResponseBody 注解的示例:

@RestController
public class UserController {

@GetMapping("/user/{userId}")
public ResponseEntity<User> getUser(@PathVariable Long userId) {
    User user = userService.getUserById(userId);
    if (user != null) {
        return ResponseEntity.ok(user);
    } else {
        return ResponseEntity.notFound().build();
    }
}

}
在上面的示例中,我们在 getUser() 方法上使用了 @GetMapping 和 @ResponseBody 注解。当该方法被调用时,它会在 HTTP 响应正文中直接返回 User 对象(如果存在)。

由于 @RestController 注解默认会对所有的请求处理方法添加 @ResponseBody 注解,因此以上示例等价于下面的代码:

@RestController
public class UserController {
@GetMapping("/user/{userId}")
public User getUser(@PathVariable Long userId) {
User user = userService.getUserById(userId);
return user;
}
}
在上面的代码中,我们省略了 @ResponseBody 注解,但是因为 @RestController 默认在所有请求处理方法中添加 @ResponseBody 注解,所有 getUser() 方法也会将 User 对象直接写入 HTTP 响应正文中。

相关文章
|
6月前
|
Java 网络架构 Spring
SpringMVC RequestMapping注解
SpringMVC RequestMapping注解
38 0
|
6月前
|
XML 前端开发 Java
【SpringMVC】 一文掌握 》》》 @RequestMapping注解
【SpringMVC】 一文掌握 》》》 @RequestMapping注解
67 1
|
JSON 前端开发 Java
SpringMVC中@RequestBody和@ResponseBody两个注解的区别
📒 程序员小王的博客:程序员小王的博客 🎉 欢迎点赞 👍 收藏 ⭐留言 📝 😊 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线 今天我想详细的了解一下Spring MVC中@RequestBody和@ResponseBody的区别,让我自己在开发中更好的使用这两个注解
218 0
SpringMVC中@RequestBody和@ResponseBody两个注解的区别
|
6月前
|
前端开发 Java 应用服务中间件
SpringMVC之@RequestMapping注解
SpringMVC之@RequestMapping注解
|
6月前
|
前端开发 Java
@RequestMapping 注解以及其它使用方式
@RequestMapping 注解以及其它使用方式
189 0
|
Java 网络架构 Spring
详解 SpringMVC 的 @RequestMapping 注解
详解 SpringMVC 的 @RequestMapping 注解
|
Java 数据安全/隐私保护 Spring
SpringMVC的@RequestMapping注解
SpringMVC的@RequestMapping注解
94 0
|
Java Spring
@GetMapping注解
@GetMapping注解