今天来记录一下最简单方式实现java调用http接口的实现。
不知道大家有没有用过“Hutool”这个工具包,博主就是通过这工具包来实现的java调用http接口。
1.首先需要引入依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.1.2</version>
<scope>compile</scope>
</dependency>
2.引入依赖之后就很简单了,直接使用HttpUtil这个工具类就可以了
下面是官网的示例,是最简单的形式调用post和get方法
GET请求栗子:
// 最简单的HTTP请求,可以自动通过header等信息判断编码,不区分HTTP和HTTPS
String result1= HttpUtil.get("https://www.baidu.com");
// 当无法识别页面编码的时候,可以自定义请求页面的编码
String result2= HttpUtil.get("https://www.baidu.com", CharsetUtil.CHARSET_UTF_8);
//可以单独传入http参数,这样参数会自动做URL编码,拼接在URL中
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("city", "北京");
String result3= HttpUtil.get("https://www.baidu.com", paramMap);
POST请求例子:
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("city", "北京");
String result= HttpUtil.post("https://www.baidu.com", paramMap);
也可以使用HttpRequest进行相对复杂的接口调用,看一下博主的接口代码
@PostMapping(value = "saveBatch",consumes = APPLICATION_JSON_VALUE)
public ResponseMessage<String> saveBatch(@RequestBody StationHydrogenationRecordVO stationHydrogenationRecordVO) {
//这里是业务逻辑
}
接口使用的是post加@RequestBody的接口形式,调用方法如下:
StationHydrogenationRecordDto stationHydrogenationRecordVO = new StationHydrogenationRecordDto();
stationHydrogenationRecordVO.setStationNo(sCode);
HttpRequest post = HttpUtil.createPost("http://"+apiServerUrl+":8080/api-server/saveBatch");
String body = post.contentType("application/json")
.body(JSONUtil.toJsonStr(stationHydrogenationRecordVO))
.execute().body();
System.out.println(body);
以上就是调用接口的全部代码,非常简单!搞定!