kettle中restclient

在最近发布的Spring 6.1 M2版本中,推出了一个全新的同步HTTP客户端:。用一句话来让Spring开发者认识的话:像一样具备流畅API的。所以,的使命就是淘汰已经有14年历史的。

关于和,之前在几种服务消费方式(RestTemplate、WebClient、Feign)这篇文章中有详细的介绍。如果您有一定的了解,那么对于一定可以快速上手。

下面我们通过几个官方给出的案例一起来快速的认识一下。

下面是一个最简单的GET请求,返回一个字符串。从这个例子中,我们可以看到API形式跟类似。不像以前用的时候那么麻烦。

关于GET请求,很多时候我们返回的不仅仅是String,更多的时候是一些实体;同时我们有时候还需要获取HTTP状态码以及头信息。这个时候,我们可以使用方法来返回一个更为通用的来进行后续操作,比如下面这样:

在业务层面,为了更方便的解析业务数据。还支持对结果进行对象转换。比如下面的例子,就是把HTTP请求返回的JSON数据转化为对象。这样就免去了开发者手动从ResponseEntity中获取内容,再进行消息转化的麻烦。

关于其他请求,也是类似的,比如下面的POST请求:

默认情况下,在接收到4xx和5xx状态码的时候,会抛出一个的子类。对于这个动作,我们可以通过方法去重写它,比如下面这样:

上面的例子是进一步做了包装,并重新抛出。当然您也可以做一些业务性的其他操作。

直接看下面的例子:

exchange方法提供了更灵活且完整的请求处理入口。在这里,开发者里获取到信息,也可以操作信息。所以,如果您有复杂的处理逻辑上一节中的请求方法无法满足你需要的时候,就可以通过这里的方法来定制复杂的处理逻辑。

相信大家对一定都不陌生,但实际应用估计已经不是很多了,更多的会使用一些其他的客户端来实现HTTP的调用。如今Spring 6.1将推出的将很好的弥补这块不足,同时与互相补充。