SpringBoot注解@RestController

@RestController注解是一个用于定义RESTful Web服务的控制器的特殊注解。它是@Controller和@ResponseBody注解的结合体,意味着你不需要在每个处理请求的方法上都添加@ResponseBody。使用@RestController,所有的处理方法都会自动地将返回值封装成***JSON***或***其他格式的响应体***(Response Body)。

使用@RestController注解的控制器可以返回多种数据类型,包括但不仅限于:
 1. 实体对象(Entity Objects):直接返回一个实体(比如自定义的Java类的对象),Spring
    Boot会自动使用Jackson或Gson等库将其序列化为JSON格式。
   
 2. 集合类型(Collections):比如List、Set或Map,同样会被自动转换成JSON数组或对象。

 3. 字符串(String):如果方法返回一个字符串,Spring会将其视为响应体直接返回,而不是跳转到名为该字符串值的视图。

 4. ResponseEntity:允许你完全控制HTTP响应,包括状态码、响应头和响应体。这对于更细粒度的API响应控制非常有用。

 5. void:对于不需要返回任何内容的API,可以使用void作为返回类型。例如,一个仅接受数据但不返回任何内容的POST请求。
    
 6.异步类型:如Callable<T>、DeferredResult<T>或ResponseEntity<Future<T>>等,这些用于异步请求处理。
 
 7.流式数据:如StreamingResponseBody或ResponseEntity<StreamingResponseBody>,用于流式传输数据。
    
 8.Reactive类型:当使用Spring WebFlux时,可以返回Mono或Flux等反应式类型,用于构建非阻塞的、反应式的API。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SpringBoot中,使用@RestController注解Controller方法默认返回的是JSON、XML或自定义mediaType内容,而不是HTML页面。如果需要返回HTML页面,可以使用@Controller注解配合视图解析器InternalResourceViewResolver来实现。首先,在SpringBoot的默认配置文件application.yml中添加地址修饰,指定HTML页面的前缀和后缀。例如,可以在application.yml中添加以下配置: ``` spring: mvc: view: prefix: / suffix: .html ``` 然后,在Controller类中使用@Controller注解,并在对应的方法上不加@ResponseBody注解。例如: ```java @Controller public class HelloController { @RequestMapping("/hello") public String hello(){ return "hello world!"; } } ``` 这样,当访问"/hello"路径时,返回的内容将会是hello.html页面的内容。 #### 引用[.reference_title] - *1* *3* [springboot注解@RestController](https://blog.csdn.net/matthewchen123/article/details/113181836)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Springboot注解@RestController](https://blog.csdn.net/e_mmm0629/article/details/109038732)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值