写作目的
在实际的开发过程中一个互联网的项目来说 ,有可能会涉及到调用外部接口的实际业务场景,原生的比如使用httpclient 也能够达到自己想要的结果处理 ,但是其实在实际开发的时候如果没有使用过类似的技术处理的话或多祸首可能会遇见问题所以这里我简单记录一下今天使用到的工具类: hutool 进行接口http 请求调用处理。
hutool简单介绍
关于hutool工具包其实本人使用的不多哈 ,这里面其实封装处理了大量的开发日常小工具方法:
-
时间格式化,时间转换,时间校验
-
http 接口调用
-
字符串格式化处理
-
国标加密....
对于一个稍微大型的项目来说是一个很好用的封装工具包('宝藏男孩'),更多的好东西需要大家去探索
实践
这里说明一下hutool封装了httpclient 也是能使用的但是它高度封装了,所以我使用的是
1
|
HttpRequest |
灵活性更高!!!
引用依赖
1
2
3
4
5
6
7
8
9
10
11
|
<!-- hutool 工具包 --> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.7</version> </dependency> <!-- 测试类--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> |
post
简单接口调用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
@Test public void huToolPost() { System.out.println( "--------------------------------post请求-----------------------------------" ); HashMap<String, String> paramMaps = new HashMap<>( 4 ); paramMaps.put( "pid" , "463669875660294144" ); paramMaps.put( "mobile" , "123456." ); paramMaps.put( "name" , "123456." ); paramMaps.put( "message" , "" ); HttpResponse response = HttpRequest.post( "http://192.168.99.202:8202/thySystem/pg-biz-sae/app/opinion/add" ) .header( "Content-Type" , "application/json" ) .header( "token" , "710515329923024896" ) .header( "kong-request-id" , "710515329923024896" ) .body(JSON.toJSONString(paramMaps)) .execute(); int status = response.getStatus(); System.out.println( "请求响应状态码:" + status); String body = response.body(); System.out.println(body); JSONObject jsonObject = JSONObject.parseObject(body); Object msg = jsonObject.get( "msg" ); System.out.println(msg); Object code = jsonObject.get( "code" ); System.out.println(code); } |
文件上传
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
/** * 文件上传测试 */ @Test public void huToolUploadFile(){ File f1 = new File( "C:\Users\12043\Desktop\cat.jpeg" ); File f2 = new File( "C:\Users\12043\Desktop\cat.jpeg" ); File[] files = new File[ 2 ]; files[ 0 ] = f1; files[ 1 ] = f2; HttpResponse response = HttpRequest.post( "url" ) .form( "param" , "test" ) .form( "key" , files) .execute(); } |
get 请求
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
@Test public void huToolGet(){ System.out.println( "--------------------------------get请求-----------------------------------" ); HashMap<String, Object> getParamMaps = new HashMap<>( 5 ); getParamMaps.put( "sortStr" , "recordFlag,baseInfo.createTime" ); getParamMaps.put( "sortDirection" , "ASC" ); getParamMaps.put( "filterStr" , "flowAbleInfo.nodeId==craCheck" ); getParamMaps.put( "pageSize" , 10 ); getParamMaps.put( "pageNo" , 0 ); HttpResponse getResponse = HttpRequest.get( "http://192.168.99.202:8202/thySystem/pg-biz-sae/sae/list" ) .header( "Content-Type" , "application/json" ) .header( "token" , "710515329923024896" ) .header( "kong-request-id" , "710515329923024896" ).form(getParamMaps).execute(); int status1 = getResponse.getStatus(); System.out.println( "请求响应状态码:" + status1); String body1 = getResponse.body(); System.out.println(body1); JSONObject jsonObject1 = JSONObject.parseObject(body1); Object msg1 = jsonObject1.get( "msg" ); System.out.println(msg1); Object code1 = jsonObject1.get( "code" ); System.out.println(code1); } |
end
今天拖到很晚才写完这个,帮一个同事对接一个系统的短信集成推送平台刚好涉及国密3加密然后就使用hutool的http请求处理数据内容了。
到此这篇关于SpringBoot 项目 使用hutool 工具进行 http 接口调用的文章就介绍到这了,更多相关SpringBoot http 接口调用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://juejin.cn/post/7104574582157213710