希望这个问题证明是有建设性的,不会让我受到抨击(“你试过谷歌?”)。我正在慢慢爬出java greenhorn状态,目前我正面临一个关于我需要为涉及测试RESTful服务的工作而构建的项目的决定。我们有一个使用HTTPClient的内部java框架设置。但是,我已经阅读了一些建议,指出当您处理RESTful服务时,最好使用像Jersey这样的REST专用工具。其中一位开发人员建议我使用RestTemplate。我已经开始阅读RestTemplate文档以及我们自己的HTTPClient实现的代码。基本上我可以A:构建现有的HTTPClient工作,将其投入到我自己的项目中或B:使用RestTemplate创建一个全新的项目。 A可能更快,而B在长期内可能更合适/更有价值。在我开始的时候,虽然我有一个很好的java知识基础(处理类,方法,修饰符,包结构,继承和组合等),但我现在才刚刚开始掌握像我刚刚描述的这个问题一样的细节。 (使用哪些工具)。对于任何一种选择存在的一些缺点和优点,我会很高兴得到一些专家意见。
附加说明:我在处理REST服务时经常使用soapui。我对REST概念的熟悉使我倾向于RestTemplate(一旦我开始编写代码,它看起来就像我在soapui中所做的更多的即插即用),但是如果HTTPClient可以给我相同的功能,即使它更详细,并且已经为我完成了一大部分工作,我想听听只是去HTTPClient路线的原因。
答案 0 :(得分: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
其中提到了值得研究的几点。