在 springboot 应用程序中调用休息端点

calling a rest endpoint in a springboot application

对于在 spring boot 应用程序中调用 REST 端点、使用 WebClient 调用 REST 端点或使用 RestTemplate 调用 REST 端点,哪个更好?

Spring 的文档建议使用 WebClient,但这只是对响应式应用程序的有效建议。如果您不是在编写响应式应用程序,请改用 OpenFeign。与软件中的其他任何东西一样,它适用于某些情况,但可能会使其他情况复杂化。选择 WebClient 来实现 REST 端点调用与使您的应用程序具有反应性密切相关

如果您在 Springboot 应用程序中使用 RestTemplate,即在您的服务器端到您自己应用程序的另一部分 - 有点像内部调用,RestTemplate 会带来很多优势。因为 RestTemplate “知道”你所有的实体和 bean,所以如果你需要发送或接收一个在你的 springboot 应用程序中已知的对象,RestTemplate 可以自动映射它们,这是一个非常好的优势。如果您向某个第三方 api 发送请求并且不传递或接收您已知的实体,RestTemplate 仍然是一个有效的选项,但它只是成为另一个 Http 客户端。它只是作为 Springboot 提供的工具的一部分存在。但在这种情况下,您也可以使用任何其他客户端。