当前位置: 首页 > 面试题库 >

RestTemplate与Apache Http Client在spring project中的生产代码

乐正焕
2023-03-14
问题内容

我们有一个Spring项目即将投入生产。目前,该项目正在使用Apache Http Client。有一种使用RestTemplateas 的想法HttpClient

我正在四处寻找使用RestTemplateover的任何显着优势Apache's。另外,知道哪种HTTP传输在其实现中执行RestTemplate也会很有趣。Apache Http Client已被多个小组使用多年,并享有良好的声誉。


问题答案:

RestTemplate和HttpClient不在同一抽象级别上运行。

HttpClient是使用HTTP进行通信的通用库,而RestTemplate是更高级别的抽象,用于处理实体的JSON / XML转换等。

RestTemplate 委托给ClientHttpRequestFactory,此接口的实现之一使用Apache的HttpClient。

因此,如果目标是与Restful API通信,而你仍想使用HttpClient,则可以在HttpClient上使用RestTemplate。

请注意,我刚才所说的正是你链接到的博客所解释的内容:

因此,解决方案是使用org.springframework.http.client.HttpComponentsClientHttpRequestFactory,这是一个ClientHttpRequestFactory,将请求的创建委托给HttpClient。



 类似资料:
  • 我们有一个Spring项目即将投入生产。目前,该项目正在使用ApacheHTTP客户端。有一种想法是将用作。 我正在四处挖掘,看看使用比使用有什么显著的优势。另外,了解HTTP传输在RestTemplate的实现中做了什么也很有趣。ApacheHTTP客户端已被多个团体使用多年,并享有良好的声誉。 我们是否会冒险转移到? 此外,本博客指出,RestTemplate需要针对生产进行配置,尽管配置是最

  • 我的服务等级代码如下: 我的测试课程如下: 在运行测试时,我在给出Mockito的那一行得到了NullPointerException。何时返回条件。我尝试了很多组合,但它仍然提供NPE。我甚至连方法调用都做不到。你能告诉我哪里出了问题吗?

  • 问题内容: 根据Mongoose 文档中关于和/的内容: 当您的应用程序启动时,Mongoose会自动调用架构中每个已定义的索引。虽然有利于开发,但建议在生产中禁用此行为,因为创建索引会严重影响性能。通过将架构选项设置为false来禁用该行为。 这似乎指示从Mongoose删除自动索引,然后再部署以优化Mongoose,而从指示Mongo在应用程序启动时遍历所有索引开始,这似乎是有道理的。 在生产

  • 在本地电脑上可以搭建一套学习与开发网站的运行环境。有很多一键安装的集成环境,比如 Windows 上的 WAMP ,macOS 上的 MAMP。这些集成环境可以让你快速开始,但是不够灵活,也存在很多问题。更重要的是我们并没学到什么,我推荐可以先在本地用虚拟机的方式去手工搭建一个 LEMP 环境。 本书会利用 Vagrant 管理虚拟机,创建一台 Linux 类型的虚拟机,在上面手工去安装并配置环境

  • 我是否正确理解了使用SBT的最简单方法是使用OSGI插件将工具包安装到Domino服务器中,或者使用捆绑的Tomcat服务器? 在生产中使用代码段的正确方法是什么?仍然希望它引用Playerd数据库?

  • 我正在使用一个快速后端创建反应应用程序。我在端口3001上运行后端,在开发模式下,前端通过端口3000运行。我的package.json中有< code > " proxy ":" http://localhost:3001 " ,api工作得很好。 然而,当我使用yarn build,然后运行< code>serve -s build时,根本就没有进行api调用。我不知道为什么它在生产中不工作,