有很多关于编写 RESTful API 服务的最佳实践,但是很难找到任何关于编写可扩展、易于维护且结构良好的 RESTful API 服务客户端的有用信息。
关于我使用的架构的简短描述:
我有一个 Web 应用程序,后端使用 Java 语言和 Spring MVC,前端使用 HTML+CSS+JavaScript+AJAX。
我把客户端的后端部分分成了3个部分:
- 数据访问对象级别(此处封装了对 API 的请求,因此我可以轻松更改它的实现,例如从 URLConnection 移动到 Spring RestTemplate);
- 聚合级别(此处聚合了来自不同 API 方法的数据);
- Controller 级别(用于与前端通信)。
问题:
对我来说,这是非常灵活的架构。但是很多 friend 说DAO级别只能用来和数据库通信。
- 我应该重命名我的 DAO 类吗?例如。从“CarDAO”到“CarRepository”等等?
- RESTful API Client 的架构是否良好?
- 可以改进什么?可以用更少的级别达到相同的灵 active 吗?
最佳答案
你可以改进dao层。
1) 分别创建一个dao服务和dao对象。 服务从 dao 层获取信息,其中 dao 实现可以更改为另一个,同时将 dao 层替换为测试数据的虚拟数据层。在这里使用 JPA 注释。
2) 与 Controller 分开维护请求响应层的编码和解码。
3) 保持模块化,使其类似于插件播放架构。
4) 我建议您使用 JAX-RS 注释,这样服务器和客户端的其余服务实现可以是一个简单的一分钟工作,我们可以使用现有框架使其变得非常简单。
关于java - RESTful API 客户端最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23741625/