注解说明–@RestController
@RestController 是 Spring 框架中的一个注解,用于标记一个类为 RESTful 风格的控制器。它结合了 @Controller 和 @ResponseBody 两个注解的功能。
使用 @RestController 注解标记的类,通常用于处理 HTTP 请求,并返回 JSON 或其他格式的数据作为响应。@RestController 简化了编写 RESTful 服务的代码,使得开发人员可以更加方便地创建和维护基于 HTTP 的 API 接口。
@RestController 的主要作用包括:
- 标记类为 RESTful 控制器:使用 @RestController 注解将一个类标记为 RESTful 控制器,表示该类处理 HTTP 请求并返回相应的数据。
- 通常配合其他注解一起使用:@RestController 注解通常与其他注解一起使用,如 @RequestMapping、@GetMapping、@PostMapping 等,用于指定请求的路径和方法。
RedisController 文件:
package com.yunya.springboot_redis.controller;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("redis")
public class RedisController {
private final RedisTemplate redisTemplate;
public RedisController(RedisTemplate redisTemplate) {
this.redisTemplate = redisTemplate;
}
@GetMapping("save")
public String save(String key, String value) {
System.out.println("begin");
String redis_val = (String) redisTemplate.opsForValue().get(key);
System.out.println("redis_val:"+redis_val);
redisTemplate.opsForValue().set(key, value);
System.out.println("redisController save() working");
return "success";
}
}
在浏览器输入地址:http://localhost:10086/redis/save?key=springredis&value=two,返回结果如下:
- 自动转换为响应体:@RestController 中的方法可以使用 @ResponseBody 注解来指示方法的返回值将被自动转换为响应体并返回给客户端,默认转换为 JSON 格式。
- 处理请求和参数绑定:@RestController 中的方法可以接受不同类型的请求参数(如路径变量、查询参数、请求体等),并根据业务逻辑进行处理。