SpringBoot 2 构建 REST 服务 - 总结

在该教程中,我们一起参与了各种构建 REST API 的策略。事实证明,REST 不仅涉及漂亮的 URI,而且还返回 JSON 而不是 XML。

相反,以下策略有助于使我们的服务不太可能破坏我们可能控制或可能无法控制的现有客户端:

  • 不要删除旧字段。相反,支持它们;
  • 使用基于 rel 的链接,这样客户就不必对 URI 进行硬编码;
  • 尽可能保留旧的链接。即使必须更改 URI,也请保留 rel,以便较旧的客户端可以使用较新的功能;
  • 使用链接(而不是有效负载数据)

为每种资源类型构建 RepresentationModelAssembler 实现并在所有控制器中使用这些组件似乎有点费劲。但是,服务器端设置的这一额外工作(借助 Spring HATEOAS 可以轻松实现)可以确保我们控制的客户端(更重要的是,我门控制不了的客户端)可以在我们开发 API 时轻松升级。

这样就结束了我们有关如何使用 Spring 构建 RESTful 服务的教程。该教程的每个部分在单个 github 存储库中作为单独的子项目进行管理:

  • 非 rest - 没有超媒体的简单 Spring MVC 应用;
  • rest - 具有每个资源的 HAL 表示形式的 Spring MVC + Spring HATEOAS 应用;
  • 演进 - REST 应用,在该应用中可扩展字段,但保留旧数据以向后兼容;
  • 链接 - REST 应用,其中条件链接用于向客户端发送有效状态更改信号。

要查看使用 Spring HATEOAS 的更多示例,请参见 https://github.com/spring-projects/spring-hateoas-examples

你可能感兴趣的:(Spring,教程)