运维与后端 / wordle-backend
Medium

Wordle 后端

这次是什么单词呢?

后端HTTPRESTful

Hanny 为 Wordle 游戏 实现了一个后端来为这道题提供支持。实际上这个后端十分简陋,只有一个接口,用于获取每日答案,并且答案是固定的。

现在我们需要你来实现一个功能更加强大的后端服务,除了能够自由添加题目外,还需要支持简单的题目编辑功能。这些数据可以存储在内存中,不要求实现持久化。

需要实现的接口如下:

  1. GET /api/wordle/{yyyy-MM-dd}
    处理前端发送的 GET 请求,返回指定日期的答案,格式如下:

    json
    {
      "date": "2024-10-01",
      "solution": "ought"
    }

    如果该日期没有答案,则返回 404 状态码。如果日期格式不正确,则返回 400 状态码。

  2. POST /api/wordle
    添加新的答案,请求体格式如下:

    json
    {
      "date": "2024-09-30",
      "solution": "apple"
    }

    如果该日期已有答案,则返回 409 状态码。

  3. PUT /api/wordle/{yyyy-MM-dd}
    更新指定日期的答案,请求体格式如下:

    json
    {
      "solution": "ought"
    }

    如果该日期没有答案,则返回 404 状态码。

  4. DELETE /api/wordle/{yyyy-MM-dd}
    删除指定日期的答案,如果该日期没有答案,则返回 404 状态码。如果删除成功,返回 204 状态码。

  5. GET /api/wordle
    返回所有答案,格式如下:

    json
    [
      {
        "date": "2024-10-01",
        "solution": "ought"
      }
    ]

    如果没有答案,则返回空数组。


如果时间充裕,你还可以完成以下扩展功能:

  • 使用本地文件或数据库存储数据,实现持久化;
  • 添加、更新、删除题目的接口添加权限控制,如使用 JWT 来完成身份验证;

在项目完成后,提交你的项目仓库链接,建议使用 GitHub。


提示

  • 上述接口设计基本符合 RESTful 风格,但并不是标准的 RESTful 风格。如果你想了解更多有关 RESTful API 的设计,可以参考 RESTful API 设计指南
  • 你可以使用 Postman 或者 curl 等工具来测试你的接口是否正确。

后端 HTTP 服务框架推荐

每个编程语言都有自己的 HTTP 服务框架,你可以选择适合你的语言和框架来实现这个后端服务。下面是一些常用的后端 HTTP 服务框架:

出题人:hawa130