SpringBoot基础教程2-1-11 RestTemplate整合HttpClient

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient


1 概述

Http请求在服务端开发中必不可少,本文使用RestTemplate做门面,HttpClient做实现,演示基础的Http请求例子。

2 源码分析

2.1 添加pom.xml依赖

RestTemplate在Spring-Web模块中内置,SpringBoot自动引入

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient


2.2 配置文件application.yml(可选)

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient


2.3 编写RestTemplate配置(必备)

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient


做完上述配置,就生成了可用的RestTemplate实例


2.4 Get请求演示

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient


2.5 Post请求演示

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient


2.6 文件上传与下载请求演示

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient


3 采坑记录

3.1 只配@ConfigurationProperties时,不会自动创建bean

正确姿势:

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient


错误姿势:

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient


3.2 @ConfigurationProperties无法注入没有`setter`的属性

3.3 RestTemplate默认配置会乱码

正确姿势:

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient


错误姿势:

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient


4 如何调试RestTemplate

可以在logback里单独配一个debug级别的logger,把org.apache.http下面的日志定向到控制台:

 




5 工程目录

SpringBoot基础教程2-1-11 RestTemplate整合HttpClient


6 结束语

任何建议,欢迎留言探讨,本文源码链接:

https://github.com/Mkeeper6/SpringBoot-About



分享到:


相關文章: