Hutool的Http調(diào)用簡(jiǎn)單使用
Http調(diào)用
http調(diào)用即通過http方式調(diào)用第三方接口,現(xiàn)成的工具庫(kù)有很多,如HttpClient、RestTemplate、OKHttp,今天主要介紹Hutool-http
前置環(huán)境
Spring Initializr初始化項(xiàng)目 選擇Spring Web和Lombok依賴 Java版本1.8
application.yml配置如下:
server:
servlet:
context-path: /api
port: 8123
引入Hutool依賴:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.15</version>
</dependency>
先寫一個(gè)簡(jiǎn)單的被調(diào)用接口
主要功能就是:
- GET調(diào)用返回名字
- POST調(diào)用返回名字
- POST調(diào)用返回User對(duì)象
Controller
package com.zd.zdinterface.controller;
import com.zd.zdinterface.model.User;
import org.springframework.web.bind.annotation.*;
/**
* 查詢名稱
* @author zd
*/
@RestController
@RequestMapping("/name")
public class NameController {
@GetMapping("/")
public String getNameByGet(String name) {
return "GET 你的名字是:" + name;
}
@PostMapping("/")
public String getNameByPost(@RequestParam String name) {
return "Post 你的名字是:" + name;
}
@PostMapping("/user")
public String getUserNameByPost(@RequestBody User user) {
return user.getUsername();
}
}
User:
package com.zd.zdinterface.model;
import lombok.Data;
@Data
public class User {
private String username;
}
開始調(diào)用
先寫一個(gè)簡(jiǎn)單的Client類
Client:
package com.zd.zdinterface.client;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.zd.zdinterface.model.User;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.HashMap;
public class ZdApiClient {
//調(diào)用接口方法一
public String getNameByGet(String name) {
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("name", name);
String result3= HttpUtil.get("http://localhost:8123/api/name/", paramMap);
System.out.println(result3);
return result3;
}
//調(diào)用接口方法二
public String getNameByPost(@RequestParam String name) {
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("name", name);
String result3= HttpUtil.post("http://localhost:8123/api/name/", paramMap);
System.out.println(result3);
return result3;
}
//調(diào)用接口方法三
public String getUserNameByPost(@RequestBody User user) {
String json = JSONUtil.toJsonStr(user);
HttpResponse httpResponse = HttpRequest.post("http://localhost:8123/api/name/user")
.body(json)
.execute();
System.out.println(httpResponse.getStatus());
String result = httpResponse.body();
System.out.println(result);
return result;
}
}
為什么這樣寫?需要看官方文檔:
Hutool官網(wǎng)
Hutool文檔
其中包括安裝
以及使用
文章來源:http://www.zghlxwxcb.cn/news/detail-595021.html
測(cè)試
package com.zd.zdinterface;
import com.zd.zdinterface.client.ZdApiClient;
import com.zd.zdinterface.model.User;
public class Main {
public static void main(String[] args) {
ZdApiClient zdApiClient = new ZdApiClient();
String res1 = zdApiClient.getNameByGet("zd");
String res2 = zdApiClient.getNameByPost("zd");
User user = new User();
user.setUsername("zd");
String res3 = zdApiClient.getUserNameByPost(user);
System.out.println(res1);
System.out.println(res2);
System.out.println(res3);
}
}
結(jié)果
代碼GitHub倉(cāng)庫(kù)文章來源地址http://www.zghlxwxcb.cn/news/detail-595021.html
到了這里,關(guān)于Hutool的Http調(diào)用簡(jiǎn)單使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!