《玩转Spring全家桶》第55-62节

第55节 简单定制RestTemplate

RestTemplate支持的HTTP库
通用接口:

  • ClientHttpRequestFactory
    默认实现
  • SimpleClientHttpRequestFactory
    Apache HttpComponents
  • HttpComponentsClientHttpRequestFactory
    Netty
  • Netty4ClientHttpRequestFactory
    OkHttp
  • OkHttp3ClientHttpRequestFactory
    《玩转Spring全家桶》第55-62节

第56节通过WebClient访问Web资源

WebClient

  • 一个以Reactive方式处理HTTP请求的非阻塞式的客户端
    支持的底层HTTP
  • Reactor Netty-ReactorClientHttpConnector
  • Jetty ReactiveStream HttpClient-JettyClientHttpConnector
    用的比较多的还是Netty的库。
    创建WebClient
  • get()/ post()/ put()/ delete()/ patch()

第57节 小结

《玩转Spring全家桶》第55-62节

第58-59节 设计好的Restful Web Service

REST提供了一组架构约束,当作为一个整体来应用时,强调组件交互的可伸缩性、接口的通用性、组件的独立部署、以及用来减少交互延迟、增强安全性、封装遗留系统的中间组件。 ——Roy Thomas Fielding
《玩转Spring全家桶》第55-62节
《玩转Spring全家桶》第55-62节
《玩转Spring全家桶》第55-62节
《玩转Spring全家桶》第55-62节
《玩转Spring全家桶》第55-62节
《玩转Spring全家桶》第55-62节

第60节什么是HEATEOAS?

什么是HATEOSA?
Richardson成熟度模型:

  • Level 3-Hypermedia Controls
    HATEOAS
  • Hybermedia As The Engine Of Application State
  • REST统一接口的必要组成部分
    与传统的SOA中的WSDL的对比:
    HATEOAS
  • 表述中的超链接会提供服务所需的各种REST接口信息
  • 无需事先约定如何访问服务
    传统的服务契约
  • 必须事先约定服务的地址与格式
    《玩转Spring全家桶》第55-62节

第61-62节使用Spring Data REST实现简单的超媒体服务

认识HAL

  • Hypertext Application Language
  • HAL是一种简单的格式,为API中的资源提供一致的链接
    HAL模型
  • 链接
  • 内嵌资源
  • 状态
    HATEOAS客户端,通过编程的方式来访问服务和资源。
  • 对Jackson JSON增强,配置Jackson JSON,注册HAL主持

操作超链接:

  • 找到需要的Link
  • 访问超链接