1

希望这个问题证明是建设性的,不会让我发火(“你试过谷歌吗?”)。我正在慢慢摆脱 Java 新手状态,目前我面临一个需要做出的决定,我需要为一个涉及测试 RESTful 服务的工作而构建一个项目。我们有一个使用 HTTPClient 的内部 java 框架设置。但是,我阅读了一些建议,说明当您处理 RESTful 服务时,最好使用 Jersey 等特定于 REST 的工具。这里的一位开发人员建议我使用 RestTemplate。我已经开始阅读 RestTemplate 文档以及查看我们自己的 HTTPClient 实现的代码。基本上我可以 A:构建现有的 HTTPClient 工作以将其塞入我自己的项目中,或者 B:使用 RestTemplate 创建一个全新的项目。A 可能更快,而 B 从长远来看可能更合适/更有价值。正如我前言,虽然我对 Java 知识有很好的基础(处理类、方法、修饰符、包结构、继承和组合等),但我现在才刚刚开始掌握像我刚刚描述的这个问题这样的细节(使用哪些工具)。我很高兴能就这两种选择存在的一些缺点和优点获得一些专家意见。

附加说明:我在处理 REST 服务时经常使用soapui。我对 REST 概念的熟悉使我倾向于 RestTemplate(一旦我开始编写代码,它似乎更能与我在 soapui 中所做的事情即插即用),但如果 HTTPClient 可以给我相同的功能,即使它更冗长,并且已经为我完成了大部分工作,我想听听只走 HTTPClient 路线的理由。

4

1 回答 1

0

请注意 Spring 5 文档中的这一点:

注意:从 5.0 开始,非阻塞、反应式org.springframework.web.reactive.client.WebClient提供了一种现代替代方案RestTemplate,有效支持同步和异步,以及流场景。将RestTemplate在未来的版本中弃用,并且未来不会添加主要的新功能。有关更多详细信息和示例代码,请参阅Spring Framework 参考文档WebClient部分。

另外,检查这个答案: RestTemplate vs Apache Http Client for production code in spring project

其中提到了几个值得研究的点。

于 2019-03-14T15:30:11.610 回答