小插件HttpClinet的使用

当我们在测试接口时,总是需要我们去使用Swagger、PostMan甚至说用浏览器去测试。一般情况下来讲还真没啥事,但是,如果一个项目使用了微服务架构,那么多开一个软件对内存来说都是极大的折磨,并且当我们去使用Swagger去测试接口时,一般情况下测试记录时不会被保存的

image-20230411010801222

那么我们怎么去“轻量化”,“可记录”的测试接口呢?

答案是 IDEA 的插件 HttpClient

HttpClient插件的安装

我们的高版本IDEA一般是自带HttpClient的,当我们写完一个接口image-20230411011234831,我们可以发现这里有个小图标点开后会发现,image-20230411011303418,httpclient在这里,就会直接跳出链接。然后进行测试

简单使用

我们可以在模块根目录下创建一个包api-test,然后将对应模块写入其中例如image-20230411011651407,当请求带有json数据时可以这样

1
2
3
4
5
6
7
8
###查询课程信息
POST http://localhost:63040/content/course/List?pageNo=1&pageSize=2
Content-Type: application/json
{
"auditStatus": "202004",
"courseName": "java",
"publishStatus": ""
}

但是当我们使用了网关后如何根据网关配置来发送http请求?

我们可以添加环境配置:

​ 创建文件http-client.env.json

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"dev": {
"access_token": "",
"gateway_host": "localhost:63010",
"content_host": "localhost:63040",
"system_host": "localhost:63110",
"media_host": "localhost:63050",
"search_host": "localhost:63080",
"auth_host": "localhost:63070",
"checkcode_host": "localhost:63075",
"learning_host": "localhost:63020"
}
}

实际上,相当于在dev环境下,配置了他们的映射关系

然后我们就可以在请求中直接使用网关名啦

1
2
3
4
5
6
7
8
9
10
###查询课程信息
POST {{content_host}}/content/course/List?pageNo=1&pageSize=2
Content-Type: application/json
{
"auditStatus": "202004",
"courseName": "java",
"publishStatus": ""
}

<> 2023-04-11T004758.200.json