@RestController注解与@Controller注解
时间: 2023-11-11 17:56:00 浏览: 36
@RestController注解相当于@ResponseBody和@Controller合在一起的作用。在Spring4之后新加入的注解,它是@ResponseBody和@Controller的组合注解。与@Controller注解相比,@RestController注解的返回值不会跳转一个页面,而是返回String、Object、json等实体对象。因此,一般在前后端分离的项目中,或者整个控制层无需中转跳转页面时使用@RestController注解。
相关问题
Controller中的@RestController注解
@RestController注解是Spring框架中的一个注解,它是@Controller和@ResponseBody注解的结合体。使用@RestController注解的类可以直接返回JSON、XML等内容,而不需要在方法上添加@ResponseBody注解。同时,@RestController注解还可以自动将返回值转换为JSON格式。
举个例子,如果我们在Controller中使用@RestController注解,那么我们可以直接返回一个JSON格式的字符串,如下所示:
```java
@RestController
public class UserController {
@GetMapping("/user")
public User getUser() {
User user = new User();
user.setName("Tom");
user.setAge(20);
return user;
}
}
```
在上面的例子中,我们使用@GetMapping注解来处理GET请求,并且直接返回了一个User对象。由于我们在类上使用了@RestController注解,因此Spring会自动将返回值转换为JSON格式。
@RestController注解
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。使用@RestController注解的类会将返回的数据直接作为响应体发送给客户端,而不是返回一个视图页面。这个注解通常用于创建一个RESTful风格的API接口。
@RestController注解的作用是将一个类标记为控制器,并且自动将返回的数据转换为JSON格式。这样,当我们在控制器中的方法上使用@RequestMapping注解时,方法的返回值会自动转换为JSON格式,并作为响应发送给客户端。
使用@RestController注解的类不能返回jsp或html页面,因为这些视图解析器无法解析JSON数据。它主要用于构建后台服务接口,返回数据给前端进行处理。例如,在上述代码中的findAllHospital方法使用了@RestController注解,它会返回一个包含所有医院信息的List<Hospital>对象,自动转换为JSON格式返回给客户端。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [springboot框架在页面和postman访问可以debug进入方法,但是接收方接收到是404的问题](https://blog.csdn.net/Cjava_math/article/details/109779829)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]