Hutool的Http调用简单使用
Http调用
http调用即通过http方式调用第三方接口,现成的工具库有很多,如HttpClient、RestTemplate、OKHttp,今天主要介绍Hutool–http
前置环境
server:
servlet:
context-path: /api
port: 8123
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.15</version>
</dependency>
先写一个简单的被调用接口
主要功能就是:
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;
}
开始调用
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 {
//调用接口方法一
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;
}
//调用接口方法二
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;
}
//调用接口方法三
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;
}
}
其中包括安装
以及使用
测试
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);
}
}
结果
原文地址:https://blog.csdn.net/qq_39411709/article/details/129641909
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_19783.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。