Hanny 为 Wordle 游戏 实现了一个后端来为这道题提供支持。实际上这个后端十分简陋,只有一个接口,用于获取每日答案,并且答案是固定的。
现在我们需要你来实现一个功能更加强大的后端服务,除了能够自由添加题目外,还需要支持简单的题目编辑功能。这些数据可以存储在内存中,不要求实现持久化。
需要实现的接口如下:
-
GET /api/wordle/{yyyy-MM-dd}
处理前端发送的 GET 请求,返回指定日期的答案,格式如下:如果该日期没有答案,则返回 404 状态码。如果日期格式不正确,则返回 400 状态码。
-
POST /api/wordle
添加新的答案,请求体格式如下:如果该日期已有答案,则返回 409 状态码。
-
PUT /api/wordle/{yyyy-MM-dd}
更新指定日期的答案,请求体格式如下:如果该日期没有答案,则返回 404 状态码。
-
DELETE /api/wordle/{yyyy-MM-dd}
删除指定日期的答案,如果该日期没有答案,则返回 404 状态码。如果删除成功,返回 204 状态码。 -
GET /api/wordle
返回所有答案,格式如下:如果没有答案,则返回空数组。
如果时间充裕,你还可以完成以下扩展功能:
- 使用本地文件或数据库存储数据,实现持久化;
- 添加、更新、删除题目的接口添加权限控制,如使用 JWT 来完成身份验证;
在项目完成后,提交你的项目仓库链接,建议使用 GitHub。
提示
- 上述接口设计基本符合 RESTful 风格,但并不是标准的 RESTful 风格。如果你想了解更多有关 RESTful API 的设计,可以参考 RESTful API 设计指南;
- 你可以使用 Postman 或者 curl 等工具来测试你的接口是否正确。
后端 HTTP 服务框架推荐
每个编程语言都有自己的 HTTP 服务框架,你可以选择适合你的语言和框架来实现这个后端服务。下面是一些常用的后端 HTTP 服务框架: