腾讯云分布式缓存数据库 搭建 Web 服务:使用 Spring Boot 搭建 RESTful API

spring-boot-starter-web 是 Spring Boot 提供的一个 Starter,用于快速构建基于 Spring MVC 的 Web 应用程序。它整合了开发 Web 应用所需的常用依赖,并提供了自动配置功能,使开发者能够以最少的配置搭建 Web 服务,包括 RESTful 服务。本次实践将通过引入 spring-boot-starter-web 快速搭建一个 Web 服务,用于测试 Redi。

相关产品
腾讯云分布式缓存数据库(兼容 Redis) 产品页,含版本规格、价格与购买入口。

一、配置 spring-boot-starter-web 依赖

在 pom.xml 加入组件依赖,如下所示。

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.7.0</version></dependency>

二、搭建 Web 服务

定义一个名为 RedisController 的 Spring Boot 控制器类,通过 HTTP 接口操作 Redis 数据库,支持字符串(set、get)、集合(sadd、srem、sismember)、哈希(hset、hget)、列表(lpush、rpush、lpop、rpop)以及有序集合(zadd、zrank)等常见数据结构的操作。以下是 RedisController.java 的代码示例:

package com.example.redismonitor;import com.example.redismonitor.RedisInterface;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*;@RestController@RequestMapping("/redis")public class RedisController { @Autowired private RedisInterface redisService; //- – – – – – – – – – – – – – – – – – – – – string – – – – – – – – – – – – – – – – – – – – @PostMapping("/set") public String setValue(@RequestParam String key, @RequestParam String value) { redisService.set(key, value); return "Value set successfully"; } @GetMapping("/get") public Object getValue(@RequestParam String key) { return redisService.get(key); } //- – – – – – – – – – – – – – – – – – – – – set – – – – – – – – – – – – – – – – – – – – @PostMapping("/sadd") public String sadd(@RequestParam String key, @RequestParam Object value) { redisService.sadd(key, value); return "Value sadd successfully"; } @GetMapping("/srem") public Object srem(@RequestParam String key,@RequestParam Object… values) { return redisService.srem(key, values); } @GetMapping("/sismember") public Object sismember(@RequestParam String key,@RequestParam Object value) { return redisService.sismember(key, value); } //- – – – – – – – – – – – – – – – – – – – – hash – – – – – – – – – – – – – – – – – – – – @PostMapping("/hset") public String hset(@RequestParam String key, @RequestParam String field, @RequestParam Object value) { redisService.hset(key, field, value); return "Value hset successfully"; } @GetMapping("/hget") public Object hget(@RequestParam String key, @RequestParam String field) { return redisService.hget(key, field); } //- – – – – – – – – – – – – – – – – – – – – list – – – – – – – – – – – – – – – – – – – – @PostMapping("/lpush") public String lpush(@RequestParam String key, @RequestParam Object value) { redisService.lpush(key, value); return "Value lpush successfully"; } @PostMapping("/rpush") public String rpush(@RequestParam String key, @RequestParam Object value) { redisService.rpush(key, value); return "Value rpush successfully"; } @GetMapping("/lpop") public Object lpop(@RequestParam String key) { return redisService.lpop(key); } @GetMapping("/rpop") public Object rpop(@RequestParam String key) { return redisService.rpop(key); } //- – – – – – – – – – – – – – – – – – – – – zset – – – – – – – – – – – – – – – – – – – – @PostMapping("/zadd") public String zadd(@RequestParam String key, @RequestParam Object value, @RequestParam double score) { redisService.zadd(key, value, score); return "Value zadd successfully"; } @GetMapping("/zrank") public Object zrank(@RequestParam String key, @RequestParam Object value) { return redisService.zrank(key, value); }}

三、测试 Web 服务

通过 `curl` 命令调用已实现的 Web 服务接口,测试 Redis 的功能。以下示例展示了如何使用 `curl` 命令执行 SET 和 GET 操作。

赞 (0)
上一篇 4天前
下一篇 4天前