RestClient
会自动根据用户的 Headers
与 Entity
等选择合适的Encoder
进行Encode
。其内置了下面这些Encoder
:
-
Json
-
jackson :默认,自动通过SPI的方式注入到RestClient中
-
fastjson :需要引入fastjson
依赖,并将FastJsonCodec
添加到RestClient中
-
gson :需要引入gson
依赖,并将GsonCodec
添加到RestClient中
-
ProtoBuf :需要引入ProtoBuf
依赖,并将ProtoBufCodec
添加到RestClient中
-
File :自动通过SPI的方式注入到RestClient中
-
String :自动通过SPI的方式注入到RestClient中
-
byte[] :自动通过SPI的方式注入到RestClient中
除此之外RestClient
也支持用户自定义Encoder
。
RestClient
会自动根据用户的 Headers
与 Entity
等选择合适的Encoder
进行Encode
。其内置了下面这些Encoder
:
-
Json
-
jackson :默认,自动通过SPI的方式注入到RestClient中
-
fastjson :需要引入fastjson
依赖,并将FastJsonCodec
添加到RestClient中
-
gson :需要引入gson
依赖,并将GsonCodec
添加到RestClient中
-
ProtoBuf :需要引入ProtoBuf
依赖,并将ProtoBufCodec
添加到RestClient中
-
File :自动通过SPI的方式注入到RestClient中
-
String :自动通过SPI的方式注入到RestClient中
-
byte[] :自动通过SPI的方式注入到RestClient中
除此之外RestClient
也支持用户自定义Encoder
。
HttpClient
支持通过builder配置和SPI加载两种方式配置Filter
。
在HttpClient
中存在一些内置Interceptor
,用于实现 100-expect-continue、重试、重定向 等功能。
用户请求时RestClient
会自动根据用户的 Headers
与 Entity
自动选择合适的Decoder
或Encoder
进行Decode
或Encode
。同时RestClient
也支持用户在codec
前后进行插入业务逻辑。
用户请求时RestClient
会自动根据用户的 Headers
与 Entity
自动选择合适的Decoder
或Encoder
进行Decode
或Encode
。同时RestClient
也支持用户在codec
前后进行插入业务逻辑。
RestClient
会自动根据用户的 Headers
与 期望Entity
类型 等选择合适的Decoder
进行解码。RestClient
内置了下面这些Decoder
:
-
Json
-
jackson :默认,自动通过SPI的方式注入到RestClient中
-
fastjson :需要引入fastjson
依赖,并将FastJsonCodec
添加到RestClient中
-
gson :需要引入gson
依赖,并将GsonCodec
添加到RestClient中
-
ProtoBuf :需要引入ProtoBuf
依赖,并将ProtoBufCodec
添加到RestClient中
-
String :自动通过SPI的方式注入到RestClient中
-
byte[] :自动通过SPI的方式注入到RestClient中
除此之外RestClient
也支持用户自定义解码器。
RestClient
会自动根据用户的 Headers
与 期望Entity
类型 等选择合适的Decoder
进行解码。RestClient
内置了下面这些Decoder
:
-
Json
-
jackson :默认,自动通过SPI的方式注入到RestClient中
-
fastjson :需要引入fastjson
依赖,并将FastJsonCodec
添加到RestClient中
-
gson :需要引入gson
依赖,并将GsonCodec
添加到RestClient中
-
ProtoBuf :需要引入ProtoBuf
依赖,并将ProtoBufCodec
添加到RestClient中
-
String :自动通过SPI的方式注入到RestClient中
-
byte[] :自动通过SPI的方式注入到RestClient中
除此之外RestClient
也支持用户自定义解码器。
在HttpRequest
处理过程中,有时可能需要执行Retry、Redirect、Cache等操作,使用Interceptor
可以实现类似功能。
HttpClient
支持通过builder配置和SPI加载两种方式配置Interceptor
。
Filter
分为RequestFilter
和ResponseFilter
两种,前者主要用于处理HttpRequest
,在所有Interceptor
对HttpRequest
处理之后执行, 后者主要用于处理HttpResponse
,在响应headers到达之后立即执行,此时所有拦截器对HttpResponse
的处理均未开始执行。
RestClient
支持通过builder配置和SPI加载两种方式配置RestInterceptor
。
RestClient
支持通过builder配置和SPI加载两种方式配置RestInterceptor
。
在每次建立连接前,client可能需要将域名解析成IP地址,HttpClient
通过适配netty
原生的AddressResolverGroup
提供了一种更加简单、 灵活的NameResolver
扩展,用于将url地址中的域名解析成IP地址。
在每次建立连接前,client可能需要将域名解析成IP地址,RestClient
通过适配netty
原生的AddressResolverGroup
提供了一种更加简单、 灵活的NameResolver
扩展,用于将url地址中的域名解析成IP地址。
在每次建立连接前,client可能需要将域名解析成IP地址,RestClient
通过适配netty
原生的AddressResolverGroup
提供了一种更加简单、 灵活的NameResolver
扩展,用于将url地址中的域名解析成IP地址。