学透 Spring:从入门到项目实战
丁雪丰
美团研究员
1073 人已学习
立即订阅
登录后,你可以任选4讲全文学习
课程目录
已完结/共 45 讲
时长 07:11
时长 15:51
时长 00:10
时长 02:03
时长 00:39
学透 Spring:从入门到项目实战
15
15
1.0x
00:00/00:00
登录|注册

第 9 章 Spring MVC 实践(3)

9.4 访问 Web 资源

前面我们都在聊如何编写 Web 服务端的内容,如何发布服务与资源,通过浏览器和一些工具就能访问我们发布的内容。但在一个分布式系统里,我们通常都是编写代码用客户端来进行访问的。这一节里就让我们一起来了解一下如何使用 Spring Framework 提供的 RestTemplate 来访问 Web 资源。

9.4.1 通过 RestTemplate 访问 Web 资源

RestTemplate 封装了常用的 HTTP 操作,支持 GETPOSTPUTDELETEHEADPATCHOPTIONS 方法,表 9-16 罗列了 RestTemplate 的一些常用方法,本节后面还会聊到 exchange() 等方法。
表 9-16 RestTemplate 的一些常用方法
方法名返回类型对应 HTTP 方法说明
getForObject()TGET获取内容并转换为指定类型
getForEntity()ResponseEntity<T>GET获取内容并转换为指定类型,同时提供 HTTP 应答头等信息
postForObject()TPOST提交内容,将结果转换为指定类型
postForEntity()ResponseEntity<T>POST提交内容,将结果转换为指定类型,同时提供 HTTP 应答头等信息
postForLocation()URIPOST提交内容,无须获得返回,只要拿到结果中的地址信息即可
put()voidPUT发送 PUT 请求,创建或更新内容,无返回值
delete()voidDELETE发送 DELETE 请求,删除内容,无返回值
通常,Spring Boot 的自动配置都会为我们提供所需的 Bean,早期的 Spring Boot 的确也提供了一个默认的 RestTemplate Bean,但是在后来的版本中又把它去掉了。不过,RestTemplateAutoConfiguration 为我们提供了 RestTemplateBuilder Bean,RestTemplateAutoConfiguration 会将上下文中的 RestTemplateCustomizerRestTemplateRequestCustomizer 收集起来,放到 RestTemplateBuilder 里。而我们可以直接通过这个 RestTemplateBuilderbuild() 方法来构造自己的 RestTemplate Bean。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文详细介绍了如何在Spring MVC实践中使用Spring Framework提供的RestTemplate来访问Web资源。RestTemplate封装了常用的HTTP操作,支持GET、POST、PUT、DELETE、HEAD、PATCH和OPTIONS方法。文章通过模拟顾客的操作,访问二进制奶茶店的需求描述和相应的代码示例来展示如何使用RestTemplate进行Web资源的访问。此外,还讲解了如何通过调整pom.xml和主类CustomerApplication,以及调整原来的WaitForOpenRunner来实现对Web资源的访问。文章还介绍了在Spring Boot中如何自定义RestTemplate的一些配置。另外,文章还介绍了如何发送带有请求头的HTTP请求以及处理复杂的HTTP操作,如传递多个请求头、判断应答中的HTTP响应码等。通过这些实例,读者可以快速了解如何使用RestTemplate进行Web资源的访问,以及RestTemplate的进阶用法。整体而言,本文内容详实,适合想要学习Spring MVC实践的读者阅读。文章还介绍了如何通过MockWebServer编写一个单元测试,覆盖具体发起HTTP请求的代码,为读者展示了如何模拟服务端进行单元测试。文章还介绍了RestTemplate的模板模式提升了代码的复用性和可扩展性,以及如何简单定制RestTemplate,包括配置底层实现和SSL相关选项。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《学透 Spring:从入门到项目实战》
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部