使用应用程序
要使用我们新组装的 Web 应用程序,首先确保已成功完成 “技术需求” 部分中描述的数据库设置步骤和 Postman 安装。然后在 IntelliJ 中运行 WordzApplication
类的 main()
方法。这将启动端点,准备接受请求。
一旦服务运行起来,我们与之交互的方式就是向端点发送 HTTP 请求。启动 Postman 后(在 macOS 上),会出现一个如下所示的窗口:

我们首先需要启动一个游戏。为此,我们需要向端点的 /start
路由发送 HTTP POST 请求。默认情况下,这将位于 http://localhost:8080/start
。我们需要发送一个包含 JSON {"name":"testuser"}
文本的请求体。
我们可以从 Postman 发送此请求。我们点击主页上的 “Create a request” 按钮。这将带我们进入一个视图,我们可以在其中输入 URL,选择 POST 方法并输入我们的 JSON 请求体数据:
-
创建一个 POST 请求来开始游戏。
Figure 2. Figure 15.11 – Start a new game点击蓝色的 “Send” 按钮。图15.11 中的截图显示了发送的请求——在屏幕的上半部分——以及响应。在这种情况下,游戏成功为名为
testuser
的玩家启动。端点按预期执行,并发送了一个 HTTP 状态码204 No Content
。这可以在响应面板中看到,位于截图的底部。快速检查数据库中的
game
表内容,可以看到已为此游戏创建了一行:wordzdb=# select * from game; player_name | word | attempt_number | is_game_over -------------+-------+----------------+-------------- testuser | ARISE | 0 | f (1 row) wordzdb=#
-
我们现在可以进行第一次猜词。让我们尝试猜测 "STARE"。以下是相应的 POST 请求及来自我们端点的响应,如下图所示:
Figure 3. Figure 15.12 – Score returned端点返回 HTTP 状态码
200 OK
。这次返回了一个 JSON 格式的数据体。我们看到"scores":"PXPPC"
,表示我们猜测的第一个字母S
出现在单词中的某个位置,但不在第一个位置。我们猜测的第二个字母T
是错误的,没有出现在目标单词中。我们的猜测中还有两个部分正确的字母和一个最终正确的字母,即末尾的字母E
。响应还显示
"isGameOver":false
。我们还没有完成游戏。 -
我们再做一次猜测,稍微作弊一下。让我们发送一个猜测为 "ARISE" 的 POST 请求:
Figure 4. Figure 15.13 – A successful guess胜利!我们看到
"scores":"CCCCC"
,告诉我们猜测的所有五个字母都是正确的。"isGameOver":true
告诉我们游戏已经结束,这次是成功的。
我们已经成功地使用我们的微服务玩了一局 Wordz 游戏。