Java RESTful API客户端最佳实践

Java RESTful API客户端最佳实践,java,api,rest,spring-mvc,restful-architecture,Java,Api,Rest,Spring Mvc,Restful Architecture,关于编写RESTful API服务,有很多最佳实践,但是很难找到关于编写可伸缩、易于维护和结构良好的RESTful API服务客户端的有用信息 关于我使用的体系结构的简短描述: 我有一个web应用程序,在后端使用Java语言和SpringMVC编写,在前端使用HTML+CSS+JavaScript+AJAX编写 我将客户端的后端部分分为3个部分: 数据访问对象级别(这里对API的请求被封装,因此我可以轻松地更改它的实现,例如从URLConnection移动到Spring RestTemplate

关于编写RESTful API服务,有很多最佳实践,但是很难找到关于编写可伸缩、易于维护和结构良好的RESTful API服务客户端的有用信息

关于我使用的体系结构的简短描述:

我有一个web应用程序,在后端使用Java语言和SpringMVC编写,在前端使用HTML+CSS+JavaScript+AJAX编写

我将客户端的后端部分分为3个部分:

  • 数据访问对象级别(这里对API的请求被封装,因此我可以轻松地更改它的实现,例如从URLConnection移动到Spring RestTemplate)
  • 聚合级别(聚合来自不同API方法的数据)
  • 控制器级(用于与前端通信)
  • 问题:

    对我来说,这是一个非常灵活的架构。然而,我的许多朋友说DAO级别只能用于与数据库的通信

  • 我应该重命名我的DAO类吗。例如,从“卡道”到“carredopository”等
  • 它是RESTful API客户端的良好体系结构吗
  • 有什么可以改进的?用更少的级别可以达到同样的灵活性吗

  • 您可以改进dao层

    1) 分别创建dao服务和dao对象。 服务从dao层获取信息,在dao层中可以将dao实现更改为另一个实现,并将dao层替换为测试数据的虚拟数据层。在这里使用JPA注释

    2) 与控制器分开维护请求-响应层的编组和解编组

    3) 保持模块化,使其像一个插件播放架构


    4) 我建议您使用JAX-RS注释,这样服务器和客户端的rest服务实现都可以是一个简单的一分钟工作,我们可以使用现有的框架使其变得非常简单。

    许多好问题都会根据专家经验产生一定程度的意见,但对这个问题的回答往往几乎完全基于观点,而不是事实、参考资料或具体的专业知识。如果问题中有“最佳”一词,这很有可能偏离主题。您能提供一个可以在RESTful API客户端中使用的JPA注释示例吗?我提到的是dao层。对于纯rest客户端,有很多选项取决于您的易用性,从apache http客户端API到jax rs 2.0 API。您是指像这样的注释吗org.springframework.data.rest.core.annotation.RepositoryRestResource或类似javax.persistence.PersistenceContext的东西?我指的是java持久性注释