在 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 提供的工具的一部分存在。但在这种情况下,您也可以使用任何其他客户端。
对于在 spring boot 应用程序中调用 REST 端点、使用 WebClient 调用 REST 端点或使用 RestTemplate 调用 REST 端点,哪个更好?
Spring 的文档建议使用 WebClient,但这只是对响应式应用程序的有效建议。如果您不是在编写响应式应用程序,请改用 OpenFeign。与软件中的其他任何东西一样,它适用于某些情况,但可能会使其他情况复杂化。选择 WebClient 来实现 REST 端点调用与使您的应用程序具有反应性密切相关
如果您在 Springboot 应用程序中使用 RestTemplate,即在您的服务器端到您自己应用程序的另一部分 - 有点像内部调用,RestTemplate 会带来很多优势。因为 RestTemplate “知道”你所有的实体和 bean,所以如果你需要发送或接收一个在你的 springboot 应用程序中已知的对象,RestTemplate 可以自动映射它们,这是一个非常好的优势。如果您向某个第三方 api 发送请求并且不传递或接收您已知的实体,RestTemplate 仍然是一个有效的选项,但它只是成为另一个 Http 客户端。它只是作为 Springboot 提供的工具的一部分存在。但在这种情况下,您也可以使用任何其他客户端。