在下一章中,我们将从数据库中获取数据并动态返回所有内容,但现在,我们至少会很高兴拥有这些虚拟数据。让我们将目前为止学到的所有知识应用到我们其余的 API 调用中。
为 TODO 定义一个实体并创建一个具有以下字段的 Todo 数据类:
我们准备为 TODO 编写一个控制器类。在我们这样做之前,让我们草拟其余的 Note 实体 API 调用:
对于 Note,我们添加了 INSERT、UPDATE 和 DELETE 方法。正如您在此处看到的,我们演示了如何使用 consumes 参数。我们还介绍了@PathVariable的使用,所以我们的调用是通过路径参数化的。
现在在与 NoteController 相同的包中创建 TodoController:
实现实际上是相同的,只是它处理 Todo 实体并引入了一个附加字段。
更新方法将字符串附加到标题和消息。在我们的回复中,我们可以看到这确实有效。在实践中,我们只会更新数据库中的数据,而不会对从有效负载到服务器端的数据进行任何修改。
由于我们已经知道基于 HTTP 方法对性能执行的操作,我们将从除 DELETE 之外的每个 HTTP 方法映射中删除 value 参数。 DELETE HTTP 映射将保留 ID 部分:
- NoteController, responsible for Note entity-related things:
- TodoController, responsible for Todo entity-related things:
综上所述,我们刚刚优化了前面代码中的 API 定义,现在我们定义了以下 API 调用:
- For Notes:
- [ GET ] /notes, to obtain a list of notes
- [ PUT ] /notes, to insert a new Note
- [ DELETE ] /notes/{id}, to remove an existing Note with ID
- [ POST ] /notes, to update an existing Note
- For TODOs:
- [ GET ] /todos, to obtain a list of TODOs
- [ PUT ] /todos, to insert a new TODO
- [ DELETE ] /todos/{id}, to remove an existing TODO with ID
- [ POST ] /todos, to update an existing TODO
我们的 API 已起草并准备好运行。在下一节中,在我们进行一些配置并启动应用程序之后,我们将实际使用 Postman 尝试每个 API 调用。