前言
在本章中,我们将构建一个使用 Redis 的 RESTful API。我们将创建 API 控制器,实现数据的设置和获取功能,并测试这些 API 端点。
1、创建API控制器
我们已经在前面的章节中创建了一个 RedisController。现在,我们将进一步优化它,以构建符合 RESTful 风格的 API。
确保控制器类:
我们将继续使用之前创建的 RedisController,并对其进行必要的调整,以便更好地符合 RESTful API 的最佳实践。请确认以下代码:
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/[controller]")]
publicclassRedisController : ControllerBase
{
privatereadonly RedisService _redisService;
public RedisController(RedisService redisService)
{
_redisService = redisService;
}
// 设置数据
[HttpPost("{key}")]
public IActionResult SetValue(string key, [FromBody] string value)
{
var result = _redisService.SetValue(key, value);
return result ? CreatedAtAction(nameof(GetValue), new { key }, value) : BadRequest("Failed to set value");
}
// 获取数据
[HttpGet("{key}")]
public IActionResult GetValue(string key)
{
varvalue = _redisService.GetValue(key);
returnvalue != null ? Ok(value) : NotFound("Key not found");
}
// 更新数据
[HttpPut("{key}")]
public IActionResult UpdateValue(string key, [FromBody] string newValue)
{
var result = _redisService.UpdateValue(key, newValue);
return result ? Ok($"Updated key: {key} with new value: {newValue}") : NotFound("Key not found");
}
// 删除数据
[HttpDelete("{key}")]
public IActionResult DeleteValue(string key)
{
var result = _redisService.DeleteValue(key);
return result ? NoContent() : NotFound("Key not found");
}
}
2、设置和获取数据的API
在上面的实现中,我们已经定义了四个基本的 RESTful API 端点:
POST /api/redis/{key}:用于设置数据 GET /api/redis/{key}:用于获取数据 PUT /api/redis/{key}:用于更新数据 DELETE /api/redis/{key}:用于删除数据
这些方法直接调用了我们之前定义的 RedisService 中相应的操作,使得逻辑层次分离且清晰。
3、测试API端点
在开发完成后,测试 API 是非常重要的一步。我们可以使用 Postman 或其他工具进行测试。
启动应用程序:
确保你的 ASP.NET Core 应用程序正在运行。默认情况下,它将在 http://localhost:5000 或 https://localhost:5001 上提供服务。
使用浏览器或 Postman 测试端点:
设置数据
: 方法:POST URL: http://localhost:5000/api/redis/myKeyBody(选择 Raw,类型为 Text):
"myValue"
点击 “Send” 按钮。
获取数据
: 方法:GET URL: http://localhost:5000/api/redis/myKey点击 “Send” 按钮。
方法:PUT URL: http://localhost:5000/api/redis/myKeyBody(选择 Raw,类型为 Text):
"myNewValue"
删除数据
: 方法:DELETE URL: http://localhost:5000/api/redis/myKey点击 “Send” 按钮。
_______________________________________________________________
感谢您阅读到这里,如果感觉本文对您有帮助,请不吝「评论」、「点赞」、「转发」,这也是我持续创作的动力!